Thanks for the research. Those other banks you listed with lower fees, you won't find as many locations just walking around. Santander and Banorte are everywhere and that's why I use them the most.
Also, Banco Azteca (which is located in the airport and in the city) has really good exchange rates for people exchanging cash, USD to MXN pesos. Way better than the other money exchange locations in the airport. But, with anything their footprint is small and most people wouldn't want to go out of their way. And besides that they're not located in the most trendy neighborhoods. And for instance Citibank is always packed and that's why I've never gone there to save a few pesos. I used to stand in an hour long line to get money out of the ATM inside the lobby at Santander bank and then have to go inside upstairs to stand in another hour long line to get change and coins for the month. Now i just walk straight into Banorte in Roma Norte and use the ATM, o and no line and then walk inside and either go straight to the teller or wait less than 5 minutes to get change. I rather pay a few more pesos not to deal with lines😀