Recently I attended 3 weeks of Spanish classes at Encuentros, in Cuernavaca. Jeannie, the director, is extremely competent and was very helpful. Most language schools will assist students with housing. Jeannie found Carl and I a place to live within hours of arriving in Cuernavaca.
As a results of years of learning a bit here and a bit there, my Spanish is a real mishmash. Jeannie designed a study program for me that improved my Spanish very rapidly. I would tease my teachers that anytime I made the same mistake three times in a row, that mistake became my next day's lesson. By the end of my three weeks, I'd even started reading Mexican newspapers. All of my teachers were women, many of them single and single mothers. We had a great time together, including regular salsa dancing lessons and local outings.
Encuentros is aimed at serious students, and professionals. It's not 'accredited", so you don't have a bunch of high school and college students down to party under the guise of studying spanish.
For more info on Encuentros....
Cuernavaca is a fairly large city and probably isn't on you 'first choice' list, but it wasn't on mine either. Carl and I went there to do research for our latest book on living and retiring in Mexico. And to our surprise, we really enjoyed living there. Although there are quite a few gringos in Curenavaca, I seldom saw any of them, except for the couple times that we went to the English library looking for people to interview.
There is a lot of traffic in Cuernavaca, so we just parked our van and didn't take it out again until we were leaving. For getting around, we used cabs and buses. Cabs are everywhere (I've never seen so many cabs in any Mexican City) and most rides cost about $1. There is also a very good bus system.
Cuernavaca has a great central market and the liveliest plaza I've ever been to.
We left Cuernavaca reluctantly, even tho it is far too large a city for us to ever consider living in for any length of time. But when I'm ready for another round of Spanish study, I will be heading back to Cuernavaca and Encuentros