Почему NGINX использует сертификат и ключ первого хоста?
Нужно, что nginx был собран с SNI 
узнать можно так :
nginx -V
должно выдасть
TLS SNI support enabled
также openssl должен быть собран  с enable-tlsext,
либо используйте разные ip для каждого домена
Покажите оба конфига, nginx абсолютно нормально обрабатывает ситуацию разные сертификаты для разных доменов, в общем случае настраивается так:server {
    listen              443 ssl;
server_name domain1;
        ssl                     on;
        ssl_certificate         /etc/nginx/ssl/domain1.crt;
        ssl_certificate_key     /etc/nginx/ssl/domain1.key;
}
server {
    listen              443 ssl;
        server_name domain2;
        ssl                     on;
        ssl_certificate         /etc/nginx/ssl/domain2.crt;
        ssl_certificate_key     /etc/nginx/ssl/domain2.key;
}
server {
        listen          80;
        server_name_in_redirect     off;
        server_name ~^(?:www\.)?(?P<host_wo_www>.+)$;
        return 301 https://$host_wo_www$request_uri;
}
Для каждого домена свой сертификат на 443 порту и общая редиректилка с 80 порта на 443.