When using shortcode, content stops generating after the_content

This is a bit of a guess, but you are running a secondary query inside the Loop (by way of the shortcode). That is going to alter some variables that subsequent code may depend upon, such as $post.

I am thinking that you need to add wp_reset_query(); after your secondary Loop in the shortcode– right after the endwhile;