when you access the post content this way
$post->post_content
shortcodes are not run. You either need to use a loop as described in the post object field documentation with functions like the_content() or you must call
echo do_shortcode($post->post_content)