Bez znajomości numerów wierszy w kodzie trudno wiedzieć ale zatwierdzasz swoją transakcję na końcu pierwszego bloku try-catch, a następnie kontynuujesz bez rozpoczynania nowej transakcji w drugim bloku try-catch.
Dodaj $conn->beginTransaction();
na początku drugiego bloku try-catch.
EDYCJA - Wspomniałeś "Chcę tylko, aby numer automatycznego przyrostu nie był dodawany, gdy wystąpi błąd". Nie powinieneś polegać na funkcji automatycznego zwiększania w celu wygenerowania „bez przerw” sekwencji liczb.