post thumbnail not showing up with shortcode

The first argument of get_the_post_thumbnail() is not the image size that you want to use. It’s the ID or object of the post whose thumbnail you want to get. To get the thumbnail size, set the second argument to 'thumbnail'. The first argument can just be set to null to get it for the current post:

$news .= get_the_post_thumbnail( null, 'thumbnail' );