View related categories in order of posts

You are looping through the posts by category and only inside your loop you get the published date. By that time you cannot change the order anymore, unless you postpone echoing the posts to a second loop, where you order them by date. So, inside your foreach loop you do this:

$post_array[$news_query->ID] = $news_query->post_date;

This gives you an array of ID and data pairs. Now you can sort this array by date like this:

arsort ($post_array); // use asort to order the other way around

Now you can loop through the array like this

foreach ($post_array as $post_ID => $post_date) {
  get_post ($post_ID);
  get_template_part ('content',get_post_format());
  }