PHP calls to custom fields not being made. Query seems to be blocking them

Your code in the second footer_banner_box_container is trying to fetch those fields from the last post in the custom post type query directly above it, because that was the last value given to the global $post when $query->the_post() was called in that loop.

I assume you want the fields from the main query and not that secondary query, so you must add wp_reset_postdata(); after the loop of any additional queries, to restore $post to its original value. That way, any template tags that internally use the value of the current $post will use the correct data and give expected results.