Как правильно это сверстать?
Дополню, что поле с числом лучше делать через input, чтобы была возможно указать число вручную, а не кликать 20 раз по кнопке плюс для получения числа 20.
Вообще это 3 блочных элемента, имеющих border и опредиленным значением height (одинаковым). В данном примере видно только фиксированную ширину блока, так что flexbox или простое значение - по выбору. Margin, естественно. 
Сам блок для центрирования надписи по современному теоретически использует display: flex + внутренний блок с текстом с margin: auto.
Будет здесь обычный div блок или button как контейнер зависит от целей.