I signed up for 3 weeks in Malaga, and I liked it so much I extended my stay to 4 weeks! The social scene is great, you meet plenty of fun people and learn so much about other cultures. But you're meeting them all in english. Most people leave the spanish at school and don't want to go through the effort of socializing in spanish. So, try as you might, you won't really get a ton of speaking practice outside of school. As long as you apply yourself during the classes though, you'll still learn a lot. Not as fast as you do in some more focused programs, but that's the price you pay for the great social/party scene. Speaking of the party scene, if you are under 18 you simply aren't going to have as fun a time unless you have a group of other under 18-year olds who don't like partying, which I didn't see once during my summer. If you are under 18 and do like clubs and partying, I will say that the law is more of a suggestion there.
Also: the host families are awful. You are guaranteed to have a max of 5 kids in your host family... Except that rule is often broken. I was fortunate enough to switch from an awful family with 8 kids to the literal "#1 Host Family Malaga," so I ended up being ok. But my advice: don't spend the extra money to stay with a host family. You won't end up interacting with them and actually practicing spanish a ton, and you almost certainly will get something uncomfortable and dirty. But I won't end on that bad note; overall I had an amazing time and would definitely recommend it!