Your custom loop $catquery
will override the “current” post, and so the_field
will operate on the last post of that loop.
Call wp_reset_postdata()
right after your loop is finished (after endwhile;
). This will restore the post global to the true “current” post.