Let's see if Raymie, who frequents the Phoenix board, can give us the exact and current requirement. He is an expert on all things Mexican in the areas of radio and TV and even has his own section on the WTVFDA tv and fm dx club site.
I have been summoned!
The 2014 Federal Telecommunications and Broadcasting Law (LFTR), the current law governing all aspects of broadcasting and telecoms, gives no such requirement...
...but its predecessor, the Federal Radio and Television Law, did! (The LFRTV was replaced in 2014, so this is no longer law, but it is still custom.)
The last revision of the LFRTV, in the appropriate Article 76, reads:
"En toda transmisión de prueba o ajuste que se lleve a cabo por las estaciones, así como durante el desarrollo de los programas y en lapsos no mayores de 30 minutos, deberán expresarse en español las letras nominales que caracterizan a la estación, seguidas del nombre de la localidad en que esté instalada."
or translated
"In any test transmissions that stations carry out, as well as during programs and at least every 30 minutes, the call letters assigned to the station must be expressed in Spanish, followed by the name of the locality in which the station is installed."
Stations tend to have long IDs in Mexico — often including such details as their power, ownership and location of their studios and transmitter (30 seconds is a common duration). I've located the transmitter of at least one station using a DXer's aircheck of their ID.
The bare minimum ID would go something like "XHMD-FM, León, Guanajuato" —*like an FCC legal ID. But those are rare.
And the ones Tijuana border blasters like that say "Baja California, México" are technically incomplete — they don't give a locality, just a state. BCA does this correctly on its AMs ("XEPE 1700 AM, Tecate, Baja California") but not on XHPRS-FM 105.7.
———
Also, a special mention has to be given here that there are FMs utterly incapable of getting their callsign right. Usually, this is because the station is an AM-FM migrant. Particular examples I know of are XHEOA, XHECPQ, and XHEPQ. I've heard airchecks from the first two and seen materials from the third in which the E is missing.
Each of these is truly special in some form. XHEOA ("XHOA") does not have the XHOA-FM callsign because that used to be the callsign of XHOAX-FM prior to a permit discontinuity that prompted new callsigns for every single FM station (33 of them) owned by the government of Oaxaca. XHECPQ doesn't have XHCPQ because that's the callsign of an allotment, in Playa del Carmen, Quintana Roo (there are allotments with callsigns in Mexico, wildly enough —*some date to 2000 and have been protected by callsigns like XHEVAB, XHECPQ and XHERIO). XHEPQ doesn't have XHPQ because, unlike the SCT in 1994, Cofetel avoided many duplications of callsigns to existing stations (there's an XHPQ-FM in León, Guanajuato).