I am facing currently the same kind of problem.
Basically my recent new fortress is only underground, on the surface there is a simple hatch door as an entrance.
Near my fortress i have a nice river that goes through the whole map, lot of good fishing from it and for now no carps.
I designed a zone for fishing and a zone as water source not too far the entrance of my underground fortress.
In the 1st year, every dwarves were going to drink for the zone i designed.
Then they suddenly decided to ignore that zone and run all over the map to drink for another point of the same river.
I already lost 2 precious workers (as they began to have some good experience in their job) due to roaming animal while those idiots were ignoring my zone and going all the way to the opposite part of the maps.
Ambushes has not yet started to come, but if it continues like this i will lose tons of workers running to their death when ambushes will start to appear.
I tried to order to drink from zone-only, it did not solved the problem, i tried to select another zone for water source, it did not help either.
Currently after some management mistake, i don't have the means yet to get or even build a chain (or even a rope) for a well placed until the next dwarf trader wagon, and that is months away, if ambushes begin to appear before that, lots of dwarves are doomed as i doubt any of my military will be fast enough to get there when the surprise attacks come.
So is there someone that found a solution to such problem ? I can't understand why it worked perfectly in the 1st year but suddenly the dwarves began to ignore my water source zones (of the same river).
I am trying to roll as much barrel as i can to fill them with new alcohol drinks, but there is not a lot of wood on the map (its mostly mountain), so there will be a limit for this temp solution.