как с помощью grid или flex сделать бирюзовый блок из первой колонки в такую же высоту, как блок из второй колонки?
то есть, если внутренний блок расширяется по высоте, то, следовательно и в соседней колонке данный блок также расширяется
и после данных блоков, чтобы кнопка шла на одной линии
Можно так (max-height узкое место, но может быть для вашей задачи приемлемо или другие единицы можно использовать).
Добавьте в самый низ что бы переписать существующие стили (на всякий)
Не уверен, что на CSS получится такое реализовать. Здесь каждый div.block расположен в своей колонке и не имеет никакой связи с другими div.block'ами. Сами колонки можно выровнять по высоте без проблем.
Можно сделать на JS.