Кнопка на 13-м пине, используется встроенный подтягивающий резистор (инпут пуллап), встроенный лед постоянно горит, при нажатии кнопки гаснет. С подключением проблемы быть не может.
Библиотека работает как я понимаю в двух различных режимах, в неблокирующем и тогда
stepper.run() и блокирующем и тогда rotate(*). Во втором случае проверка закончил ли мотор движение, - не имеет смысла. Выполнение просто не двинется дальше, пока rotate не закончен. В первом случае проверка осмысленна, но вы усложняете ее компактизацией, - не вызывайте функции из if. Всю работу с реальным железом делайте ДО if. Вставте везде где есть сомнения setial.print, с выводом значений переменных, что бы видеть реальный результат работы условия в if. И работайте с переменными-флагами а не с сиюсекундным выполнением функций чтения пинов.