1. Если что-то не работает как задумано, первое что нужно сделать это открыть инструменты разработчика на вкладке console и посмотреть нет ли там никаких ошибок. Если есть то загуглить их и посмотреть где они возникают. Попытаться осознать и исправить. А ещё лучше научиться отладке собственного кода
https://learn.javascript.ru/debugging-chrome
2. Перед тем как пользоваться тем или иным способом объявления переменных (var\let\const) стоит почитать про него и ознакомиться с нюансами.
https://medium.com/nuances-of-programming/%D0%B2-%...
А именно:
if (parseInt(number.innerHTML) == 0){
let step = 3;
} else {
let step = parseInt(number.innerHTML) - 1;
}
Переменной step не существует вне фигурных скобок, соответственно, ниже, где Вы пытаетесь засунуть step как innerHTML - возникает ошибка, что step не определена.