Experiment a little bit, I can't do everything.
First multi WAN for wlans:
/ip dhcp-client
add interface=wlan1
add interface=wlan2
add interface=wlan3
/routing table
add fib name=wlan1
add fib name=wlan2
add fib name=wlan3
/ip route
add dst-address=0.0.0.0/0 gateway=<gateway address>%wlan1 routing-table=wlan1
add dst-address=0.0.0.0/0 gateway=<gateway address>%wlan2 routing-table=wlan2
add dst-address=0.0.0.0/0 gateway=<gateway address>%wlan3 routing-table=wlan3
Basic config of tunnels:
/interface wireguard
add listen-port=60001 mtu=1420 name=wg1 private-key="..."
add listen-port=60002 mtu=1420 name=wg2 private-key="..."
add listen-port=60003 mtu=1420 name=wg3 private-key="..."
/interface wireguard peers
add allowed-address=0.0.0.0/0 endpoint-address=<server address> endpoint-port=<server port> interface=wg1 public-key="..."
add allowed-address=0.0.0.0/0 endpoint-address=<server address> endpoint-port=<server port> interface=wg2 public-key="..."
add allowed-address=0.0.0.0/0 endpoint-address=<server address> endpoint-port=<server port> interface=wg3 public-key="..."
/ip address
add address=10.66.66.101/24 interface=wg1
add address=10.66.66.102/24 interface=wg2
add address=10.66.66.103/24 interface=wg3
This makes tunnels use the right wlans and fixes source addresses:
/ip firewall mangle
add action=mark-routing chain=output new-routing-mark=wlan1 passthrough=no protocol=udp src-port=60001
add action=mark-routing chain=output new-routing-mark=wlan2 passthrough=no protocol=udp src-port=60002
add action=mark-routing chain=output new-routing-mark=wlan3 passthrough=no protocol=udp src-port=60003
/ip firewall nat
add action=masquerade chain=srcnat out-interface=wlan1
add action=masquerade chain=srcnat out-interface=wlan2
add action=masquerade chain=srcnat out-interface=wlan3
Second multi WAN for tunneled traffic:
/routing table
add fib name=wg1
add fib name=wg2
add fib name=wg3
/ip route
add dst-address=0.0.0.0/0 gateway=wg1 routing-table=wg1
add dst-address=0.0.0.0/0 gateway=wg2 routing-table=wg2
add dst-address=0.0.0.0/0 gateway=wg3 routing-table=wg3
/routing rule
add action=lookup src-address=192.168.88.11/32 table=wg1
add action=lookup src-address=192.168.88.12/32 table=wg2
add action=lookup src-address=192.168.88.13/32 table=wg3
add action=lookup src-address=10.66.66.101/32 table=wg1
add action=lookup src-address=10.66.66.102/32 table=wg2
add action=lookup src-address=10.66.66.103/32 table=wg3
Optional masquerade (depends on what addresses server allows for clients, 10.66.66.x or 192.168.88.x):
/ip firewall nat
add action=masquerade chain=srcnat out-interface=wg1
add action=masquerade chain=srcnat out-interface=wg2
add action=masquerade chain=srcnat out-interface=wg3