Change:
foreach ($posts_array as $monster_news) {
setup_postdata($monster_news);
To:
foreach ($posts_array as $post) {
setup_postdata($post);
It seems setup_postdata()
actually doesn’t modify $post
itself (which was news to me).
PS also loose empty ,
in array… I am not sure how it actually works for you with that.