Как правильно расположить блоки с кнопками?
До появления флексов эта проблема решалась костылями и хаками:
1. Колонки на флоатах выравнивались с помощью js. По событию onResize высота колонок пересчитывалась.
2. Колонки на инлайн-блоках, а кнопки в них спозиционированы абсолютно от нижней границы колонок.
3. Имитация таблицы через display: table и table-cell + медиа-запросы, чтобы разобрать таблицу на малых экранах.
Я бы рекомендовал вам не заморачиваться и просто погуглить «блоки одинаковой высоты» и почитать старые статьи для ознакомления, а тренироваться верстать уже на флексах и гридах.
Но если всё же хочется получить подробные комментарии, сделайте демки на codepen и добавьте ссылки в вопрос.
(в курсах по верстке говорят: "атата, НИЗЗЯ делать фиксированную высоту блокам")  сомнительное утверждение, разные бывают случаи. В Вашем случае контент разный в блоках, без задания высоты блоков здесь не обойтись..block{
    height: auto;
    min-height: 250px;
}
и с помощью медиа запросов контролируйте этот min-height