Do you get expected output if you use wpautop?
echo wpautop($curauth->user_bio);
It’s one of the functions that gets run on the ‘the_content’ filter, you can also do:
echo apply_filters('the_content', $curauth->user_bio);
Which will sort out shortcodes and other things.
I don’t think has anything to do with ACF, but I’m playing around with custom user fields at the moment so I’ll follow up if I find anything.