Create multiple SSIDs with different wireguard interfaces

I want to have two or more different Wi-fi access points (SSIDs) that connect to different wireguard interface so that they have different IP address. I have it "almost" working but have issue that only the SSID which is associated with the wireguard Restarted last is working.

Below is my setup:
Devices: I have created two Bridge device -- br-lan1 and br-lan2 which are associated with different virtual eth0.
Interfaces:
Lan1 and Lan2 which are configured with above created Devices
wg1 and wg2 with different private, public key and peers
Firewall: Created such that Lan1 uses wg1 and Lan2 uses wg2
SSID: Two SSIDs. SSID1 with Lan1 network and SSID2 with Lan2 network.

Now, when I connect with SSID1 from my laptop, it shows expected wireguard IP address BUT when I connect with SSID2, it fails. Then, I restarted wg2 and then SSID2 shows expected IP but now if I connect with SSID1, that fails. Now, to make SSID1 work I have to restart wg1 so both SSIDs are not working at the same time.
I did some other tests too and based on my observation, the SSID associated with wireguard interface Restarted last is only working.

Really appreciate your help on this. Thanks.