This isn't true at all. I've contributed to Open Source projects in languages I've barely known let alone mastered. Most people can do this even with the most basic knowledge and in fact most Open Source code is a of terrible quality.
Mastering a language is not something one can achieve in a lifetime, like all skills we are only here for a finite time and as such we can only achieve a certain level of any skill and whilst some people would say they are a master of something, to truly master something you have to know everything and as human beings can't memorise everything it just won't happen. All you need to do is focus on a single language and learn all of the idioms and paradigms that exist for that language once you feel confident enough in its use then learn more esoteric things to do with the language and maybe look at how the language is actually implemented at a low level. These things as the minimum I would expect from someone that uses the term competent to describe their use of a language.