There are multiple ways to achieve your goal, however, a requirement to use the same IP subnet for both wireless networks makes it complicated (as you’ve found already). If your only reason to do that is that printers and network storages would be accessible from both WLANs, you can place these resources to a dedicated subnet and let the devices in other subnets talk to them via routing; as the wireless interfaces always talk to the rest of the world via CPU, there is not much difference between L2 bridging and L3 routing in terms of CPU load. Plus you can set up firewall rules if you want to control the traffic between the subnets.
The policy routing can then be used to choose a WAN/gateway for each local subnet, just don’t remember to exclude local traffic from policy routing or provide routes for it.