I live in Poland. There's a lot of Mormon missionaries coming here, mostly Americans (but not exclusively). I have to say that I am very impressed by their command of Polish. As far as I know, they only attend a 3 months course prior to leaving their home country. And they're really fluent. Motivation?
The single most important concept of learning a language is personal motivation. I always thought that without that needing a language (because you live in a country where you need to use it, because your girl/boyfriend speaks it, because you want to read some books/watch movies and are only available on a different language) is extremely difficult to get it.
If you think that learning a language would be cool, or it will make a good job opportunity... that strong need is not that present, and everything is way more difficult..
Learning French in France or Spanish in Spain is easier than learning Dutch in Netherlands because everybody speaks at least OK English, there is just no need to learn Dutch. Getting a little desperate and lonely helps a great deal to picking up a language faster
Motivation, sure.
Full time focus during those three months. A lot of people will say that they've studied a language for a certain number of months or years but how many hours have they put in over that time?
I think the biggest thing is that you're likely seeing them after a few weeks in country, remember that these guys have to get out and do their pitch for 8+ hours a day, every day. So their command of basic greetings, introductions, and specialised religious and other context appropriate vocabulary would be expected to get better very quickly.