When you run it from Visual Studio then you are running the application with your credentials. Even IIS Express runs under your credentials.
If you imported certificates to CurrentUser store then you imported it to the store under your account.
When you deploy ASP.NET page to IIS then by default it is being run under DefaultAppPool user (IIS APPPOOL\DefaultAppPool). That user has different certificate store and probably does not have any of these certificates in it.
Either import these certificates to LocalMachine store (local computer store in mmc) and set permissions on private key so that DefaultAppPool (or any other pool user that you have set) can access this private key
or import these certificates to the CurrentUser store of DefaultAppPool
or (the quick and not pretty way) set DefaulAppPool to use your account credentials.
I would personally go with the first option.