Post loop created via shortcode not displaying shortcode in content

get_the_content() does not have the the_content filters applied to it, which is where do_shortcode() is hooked in. Those filters are only applied in the_content(). Those two functions are not simply get/echo versions of each other. get_the_content() is lower level.

This is an anomaly in the API, and is that way for historical reasons. For instance, get_the_title() applies the the_title filters.

If you want the whole the_content filter stack applied, do:

apply_filters( 'the_content', get_the_content() )

If you only want shortcodes applied, do:

do_shortcode( get_the_content() )