don’t do this setup_postdata($user);
or this wp_reset_postdata();
these are only needed for posts and don’t do anything for users.
As far as $biography = get_field('biography', 'user_'. $userID);
, I thought this was another custom field. If it’s just the standard WP biography field and your seeing it in the array then use $biography = $user['biography'];
Only use get_field() for ACF fields.