Потому что каждая анимация оканчивается событием transitionend. И вы все их обрабатываете, переключая значение transform, и, тем самым, запуская следующую анимацию. Вешайте обработчик события, который срабатывает однократно - добавьте в вызов addEventListener
в качестве третьего аргумента { once: true }
.