When .NET was introduced it came with several languages. VB.NET, C#, COBOL and Perl, etc. This Site says 44 languages are supported. Now coming to your second part how these many languages are supported the reason is
In .NET, code is compiled to Microsoft Intermediate Language (MSIL for short). This is called as Managed Code. This Managed code is run in .NET environment. So after compilation to this IL the language is not a barrier. A code can call or use a function written in another language the only thing is A language should comply with the Common Language Runtime standard to become a .NET language.