when these timers trigger it randomly makes the wrong ones begin an action meant for a different boat.
What action? Events 20-21 look good to me, you need "For each" there. The hooks should be created and attached to each boat correctly - you can check this in the debugger.
Perhaps some other events ignore the fishing state?
Some names on your screenshots are truncated. Is there only one "crew_b..." family?
Can you share the project file?