After you have mastered your first language I think it's a good idea to learn another one and a few more if you have time. And as you become more and more experienced you'll find that learning a new language becomes easier and easier as the fundamental (low level) concepts in computer programming haven't really changed - just expressed differently in different languages. This will enhance your problem solving skills as you'll learn different approaches to solving the same problem.
Agreed - mastering a language well is crucial, and that can take years - and even after that, you can still get surprises.