Не должно быть у кнопок (и вообще у блоков, раз уж вы на БЭМ замахнулись) внешних отступов
За это по рукам обычно бьют. Правильный путь — normalize.css.
grid-template-rows:repeat(5, 50px); /*здесь задаёте высоту пункта*/
align-content:center; /* а это свойство как раз выравнивает контент по высоте */
Что??? Т.е. вместо того чтобы использовать возможности специально для этого предназначенного языка разметки, предполагается вводить в структуру дополнительные сущности не несущие вообще никакой функциональности (которые задолго до этого как раз вынесли в css как псевдоэлементы)? Мда... БЭМ всё глубже дно пробивает))
А если это нормальный "pure css", а не очередной велосипед от "гиганта отрасли"? В котором работа отступов изначально задумывалась для адекватного позиционирования (когда надо - схлопываем, когда не надо - нет).
По-второму, ну кто бы сомневался..
P.S. Можете не отвечать. Негоже флуд под вопросом разводить.