Show image after X para – center aligned

You need to tell WordPress about the centre aligned HTML or style you wish to use.

I would do this:

 $content = preg_replace( "/<\/p>/", "</p><div style="margin:auto;textalign:center;">" . get_the_post_thumbnail($post->ID, 'post-single') . "</div>", $content, 1 );

or better yet:

 $content = preg_replace( "/<\/p>/", "</p><div class="center">" . get_the_post_thumbnail($post->ID, 'post-single') . "</div>", $content, 1 );

You would need to make sure the class exists in your CSS or add one to do the centering.