As vcjones said use the one that is in the .NET Framework directory with the the lowest .NET Framework version you want to support.
The other csc.exe are only backups of the .NET Framework stored in the WinSxs folder which are installed by the MSI installer. Since the .NET Framework ist part of the OS there is always a backup in the WinSXS folder present to be able to do a restore when something bad did happen. But since the .NET Framework did use already a different location
%Windir%\Microsoft.NET...
Now we have two locations where the .NET Framework files are located. The other versions you did see were different patch levels of the .NET Framework which do stay in WinSxs for "backwards" compat reasons which does not makes sense for .NET Framework parts but for unmanaged dlls.