That one's kind of easy. They are private businesses, that's why. They used to be nationalised but ages ago the government sold them.
Nationalised means any profits go to the government, which spends it's money on the people (supposedly). No point in generating unnecessary large profits from the customers (the people) when those profits will end up being spent by government on the people, so prices are low and cover the cost of the company running at a small profit. A nationalised company exists to provide the people with a necessary service or product, in this case gas and electricity.
The government sold them i.e. privatised them. So now the profits go to whoever owns the company. Often a bunch of private individuals who each own a tiny proportion (a share) of the company, they're called shareholders. People with spare money to invest are shareholders. This can be anyone, including a politician or their mates. It can't be a poor person because they have no spare money to invest, it all goes on bills rent food etc. A private company exists to make money for its owners, the shareholders.
A private company can charge whatever it likes. Customers don't have to pay it, they can buy from another company or not buy it at all. Except, in this case, if they want gas and electricity they do have to buy it or they can freeze and maybe die. Everyone wants gas and electricity so even poor people pay it however high the cost. The profits of a private company don't go to the government and aren't spent on the people. The profits go to the shareholders. So when the government says "hey poor people, we'll give you some government money to pay your gas and electricity with, aren't we kind?" their behaviour is not actually driven by being kind. Because if they and their mates are shareholders, when you pay your gas and electricity, you're putting profits into their pockets. The higher the price of gas and electricity, the greater the profits. The government are not really paying poor people with that government money, they're effectively paying themselves. This is why they don't care how high the gas and electricity charges are. They pretend to care a bit and put price caps on it. But if they really cared, they wouldn't have privatised it in the first place. With the lower charges of a nationalised company, poor people wouldn't need a COL payment for their gas and electricity in order to survive. The real reason for giving poor people some government money towards the COL is so those poor people don't have to watch half their relatives die of hypothermia, feel life couldn't get any shitter, they've got nothing to lose and start rioting in the streets.
Sorry that was a bit long, and complicated!
In summary, the politicians want your money to put into their own personal bank accounts, that's why your gas and electricity costs are so high.