I can recommend Instituto Chac-Mool for their programs. They are at chac-mool.com. I've added my comments from an earlier post below.
We attended classes at Instituto Chac-Mool last summer and are making plans for 2 weeks this next summer. My son was 6 when we went to Chac-Mool last year and he has been begging all winter to go back. It was my son's first exposure to Spanish and travel into Mexico so it was especially important to me that he be inspired to want to keep learning, but at the same time not feel like he was in summer school. The teachers did an especially great job in keeping him entertained while learning Spanish and they had topics and projects such as keeping the environment clean, the history of Mexico and even some cooking experiences. He thought is was all "very fun".
My teen has had quite a bit of Spanish but I had no Spanish to speak of so I started at Beginner level one. I'm a high school teacher and I made so much progress in 2 weeks that my students and our Spanish teachers were very impressed. So much so that our school is now recommending this program.
The student body was a mixture of ages, lots of kids in the children's program and many parents and teachers like myself in the adult program. I was happy to see that there weren't an unusually high number of college age students there. I thought maybe I would be an "oldster" there, but not so.
Our host family was a dream and we are hoping we get them again this next summer. The evening meal was a genuinely delightful experience, and our conversations with them were very useful. The family spoke slowly for us as our skills developed. They showed us around town and we met other members of their extended family and friends.
I was struck at the incredible helpfulness and attention to detail the school provided before our trip. And while we were there. The staff is of the highest quality. I do not think I could recommend them any more highly. The teachers were enthusiastic, the school grounds very well maintained, and we enjoyed using the swimming pool every day.