Seu problema é que o SSL não suporta vários vhosts no mesmo IP.
Quando o NGINX recebe uma nova conexão via HTTP / 1.1, a solicitação inclui um cabeçalho HOST que especifica qual host virtual deve ser exibido (essa foi a grande mudança na versão 1.1 e permite hosts virtuais como os conhecemos hoje).
Mas, com HTTPS, os cabeçalhos são criptografados e a troca de chaves e a camada TLS devem ser estabelecidas antes de serem descriptografadas. Em outras palavras, não há como o nginx escolher o bloco de servidores SSL adequado até que seja enviado um certificado SSL.
Você pode adicionar um nome de domínio do site1 de redirecionamento correspondente na configuração do site2, mas o usuário ainda receberia uma mensagem informando que o certificado era inválido, o que não é muito palatável.
Existem alguns certificados de vários domínios que você pode usar, embora isso possa custar caro.
O mais fácil, e para a sua configuração desejada, provavelmente a melhor opção, é usar um endereço IP diferente para cada site. As diferentes configurações do servidor NGINX podem ser vinculadas a endereços diferentes para que nunca haja dúvidas sobre qual é qual. A maioria dos provedores pode fornecer vários endereços IP, alguns até vários blocos e, é claro, na nuvem, você pode provisionar mais.
update: O SNI contorna esse problema movendo o cabeçalho do Host para fora da carga criptografada e é suportado pelos navegadores modernos.