Both a page loop and posts loop on the same page

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.