Sem saber os números de linha em seu código, é difícil saber mas você confirma sua transação no final do primeiro bloco try-catch e prossegue sem iniciar uma nova transação em seu segundo bloco try-catch.
Adicione
$conn->beginTransaction();
no início do seu segundo bloco try-catch. EDIT - Você menciona "Eu só quero que o número de incremento automático não seja adicionado quando ocorrer um erro". Você não deve confiar no recurso de incremento automático para gerar uma sequência de números "sem lacunas".