reset_rows() only needs to be used if you need to reset to the beginning in the middle before before have_rows() returns false. I’m not sure when this was changed. If you call it after the loop then you are likely resting something else, for example if this is an nested repeater.
Welcome to the Advanced Custom Fields community forum.
Browse through ideas, snippets of code, questions and answers between fellow ACF users