Olá João,
tudo bem?
O problema nesse caso é que você está dando um parseInt de um texto (S ou N). O resultado é NaN.
Experimente remover o parseInt do segundo prompt:
var carteira = prompt("Você possui carteira? Responda S ou N");
Um comentário adicional:
O seu código não estava deixando de exibir uma mensagem pelo problema de conversão. O erro na conversão não quebra a aplicação, simplesmente retorna um NaN (not a number). As verificações que você definiu são feitas normalmente (mesmo com o NaN. Nenhuma mensagem é exibida pois não existe um retorno para o caso de o usário ter idade >= 18 e não ter carteira de motorista.
Espero ter ajudado.
Abraços! ;)