Audio out of sync more and more over time is caused by one thing, audio sample rates not matching. Verify both devices are recording 48kHz audio. Audio is not recorded in FPS so that has no effect.
It seems your action cam is claiming 30fps when in reality it is doing the drop-frame version. I’ve seen quite a few cameras do that. Wish they’d not. But now you know what your camera is REALLY recording.
As for Zoom, I have never combined material sourced from other devices with it. But I do always see that Zoom is pretty consistent in recording non-standard 32kHz audio. But then it can only record 720 video, which sucks. But you are going to have to contend with Zoom being 32kHz and your camera being 48kHz. If your camera has an audio sample rate setting, and it lets you change to 32kHz sample rate, do that. Otherwise use Compressor, convert the Zoom clip to a new H.264 clip with 48kHz audio. Usually that will work. Also, if your camera will let you set it to 25fps to match Zoom, that’d help with matching things up a tad bit, also.