I would recommend trying to add an output buffer. I find a lot of times if I’m echoing something in WordPress and it doesn’t show up, adding the output buffering does the trick.
<?php
add_action('woocommerce_archive_description' , 'sample' );
function sample(){
ob_start();
echo "Hello World";
return ob_get_clean();
}
?>