Как делать столбы с процентами?
div серого цвета. Внутри другой div, но уже зеленого цвета, ширина которого указывается в нужных процентах
Во-первых, есть тег progress https://webref.ru/html/progress
Во-вторых, все это решается в один div, без вложенных спанов, дивов и прочего мусора
https://jsfiddle.net/enLoc9ga/

Где значение переменной устанавливается через js setProperty(если это меняющееся значение) (и тогда оно попадет в атрибут style, как в примере) либо через кастомное свойство в css, если это бутафория https://jsfiddle.net/enLoc9ga/1/

По запросам пользователей, вариант с выравниванием текста https://jsfiddle.net/enLoc9ga/2/