I think that you’re problem is with multiple nested queries.
Main WP Query is run
==> A secondary query is run
====> A third query is run or you get a post from an ACF field
In these cases you cannot use the global $post or the functions setup_postdata ( $post ); and wp_reset_postdata();
The reason for this is the wp_reset_postdata(); always resets the post to the main query and not to the secondary post query. When dealing with post queries nested 3 or more deep you must use some other method of interacting with the post.
Welcome to the Advanced Custom Fields community forum.
Browse through ideas, snippets of code, questions and answers between fellow ACF users