Because there is an oligarchy in broadband and in many other industries and massive barriers to entry as well.
In broadband, it would be completely stupid for carriers to compete on price because ultimately - they are competing with themselves. You reduce prices one day - the next you have to go lower - and so on.
It's better if they keep prices high and compete on other things.
It's easy to have implicit collusion if they are only 2 or 3 players.
Often, due to access rights there might not really be any competition in specific areas.
I worked at a small telecom switch company. We made a lot of gear that didn't make any sense just to get around regulations.
Example: we made a very expensive voice and dsl and t1 switch on a board. It was crazy expensive, didn't make sense. But the carrier wanted it, because if they had individual DSL cards (or something like that) - they'd have to allow CLEC (local exchange carriers) to compete. So they paid 2x for their networking gear to avoid competition.
The big money is in monopolies, oligarchies, and keeping competition away through legislation, barriers to entry etc..