You can see that the EDID of BOTH monitors is
being read as the same Serial Number even though they are different monitors and really have different serial numbers.
BenQ SW270C_1.txt
Descriptor #1 - Serial number:
ETL6M00349SL0
BenQ SW270C_2.txt
Descriptor #1 - Serial number:
ETL6M00349SL0
That is what I have seen before when the problem occurs with otherwise identical monitors. This bug is apparently the reason that the Mac OS can not distinguish between the unique monitors when assigning them to locations and so they come up randomly assigned.
If your monitors had both a DVI and an HDMI input you could solve the problem by connecting one monitor with DVI and the other with HDMI, in which case the DVI EDID will have a different size than the HDMI EDID and the bug will definitely not come into play. But I don't think connecting one monitor with its HDMI input and the other with its DisplayPort or USB-C input will get around the bug and fix the problem. However you should try it if you have the correct cables, since it's a free try.
I've discussed the problem with Apple recently (the problem is not new, I originally had it in my 2010 Mac Pro and it has now reappeared), and it's inexplicable they haven't fixed it. I have no idea if or when they will fix it.
I don't believe over-riding the EDID in the Mac will be effective (because it probably can't keep straight which monitor is being over-ridden) but I haven't tried it. I don't know if that can still be done with the M1 chips (could be with Intel Macs), but if it can I'd try it since it would be free.
What should work would be an EDID emulator that sits between the Mac and the monitor (but I haven't needed to try that approach). You could try one of the cheap ones that could be returned with sufficient fixed features for your application (resolutions, HDCP support, etc), or a more expensive model that allowed you to copy the EDID from different monitor, or program custom changes (changes insignificant to your own usage).
Here's an example EDID emulator (I haven't tried one):
Sorry, that's all I got.