looks to me like it's only firing that whole action set on the first collision.
You have the other events nested below the initial collision condition trigger?
-remove them from being under the collision trigger.
I'd try setting it up slightly differently and not use the overlapping event.
-set a bool on your fish when it hits the ground."bOutOfWater", set it's max speed ,acceleration and animation at that point.
-turn it off, and change it's control, max speed and acceleration back if it gets back in water, or perhaps if you can detect it falling off a platform.
I believe the movement pressing control is the only thing that needs to happen when the gamepad input event happens.
You can add the action condition bOutOfWater is on.
You could also check at that point if it's pointing the right way.
Hope it helps
-kb