Warlock is a garbage class, and it's charisma. The reason people play charisma classes is
A) The two top OP classes are, guess what, sorc and paladin. It's not even close.
B) 2/3 of the top classes are charisma, with Fighter following. It's no miracle that when there are only 3 charisma classes, you assume that it must be due to charisma and not the class strength.
C) The two most plentiful item categories are by a landslide (90%+ of magic items) paladin/fighter favored plate gear and martial weapons, with caster robes behind it. It just so happens that the paladin/sorc/fighter/monk categories absorb 95%+ of magic items in the game. There is a whopping total of two magic items in the game for bard. 3 for druid. 2 for warlock, one of them requires wyll in the party, a single legendary bow for rangers, zero gear for beastmaster rangers (which explains why ranger is largely played gloomstalker/rogue multiclass builds).
When gear is such a large part of player power in this game, the classes with most dedicated gear thrive. Rogue is somewhat better off than druid/ranger, but slightly worse than caster. You get a legendary rapier in act 3 and Orin's weapons, and that's it. Bards don't get any legendary weapons, druids don't get any legendary weapons.
But warlock is the 3rd most popular class. Bard is the 5th. Again, its all 4 charisma based classes in the top 5. And the 4th most popular class, which is most definitely not a combat powerhouse, happens to have the best dialogue capability of any non charisma based class. And bare in mind, unlike the warlock, the paladin and sorcerer are not represented by the recruitable party members in game, beyond Minthara, which is significantly later game and requires what I expect is a rather unpopular choice (losing the Tiefling related content in acts 2 and 3, Wyll, Karlach and Halsin). This will boost their popularity as player choices relative to warlocks. Wyll himself is likely a staple in many parties, and if so, you arent going to playing warlock yourself.
Also, if not factoring in multiclassing, I would say tavern brawler builds (open hand monks and berserker throwing barbarians specifically) are both significantly more powerful than paladin. The base smite damage averages 9 and is a highly finite resource. Tavern brawler adds +6 to hit and damage with a strength score of 22 which is pretty easy to obtain by early chapter 2, and being 30% more likely to hit is worth a lot more than 3 damage, particularly when the bonus has no limitation and both classes get significantly more attacks than a paladin. A monk can attack literally twice as often with far more mobility and a barbarian 50% more often and at range. Add on to that a +1d4+3 damage bonus per at attack at level 6 for monk and all the bonus damage for throwing from gear for barbarian, plus rage bonus, its not even a close call to be honest. Both will be dramatically stronger than a paladin as damage dealers. Even ranged college of swords bards get a much superior damage boost to smite (double weapon damage +2d6 - 2d10) and its a short rest resource, not using up spell slots.
As for endgame, well A) its endgame, so likely not that basis of most people's class selection and B) there are plenty of endgame builds that do it better. A 7/5 oathbreaker/pact of the blade will add double charisma modifier to damage and gets 3 base attacks per round, which is going to do a lot more damage than a sorlock, with 50% more attacks and more damage per hit. You can throw in devils sight and darkness to be at constant advantage and enemies at disadvantage. A fighter can attack 12 times in a single round. An open hand monk 6/thief 4/fighter 2 can do insane damage in a single round. So can a college of swords bard 10/fighter 2. Or a throwing berserker 5/thief 4/champion 3. And all these options do very competitive damage outside of action surge also. And even ignoring that this isn't a solo game, so solo potential isn't a measure of power, there are enough haste potions in the game to cover that base even if soloing.
So I don't think it has much to do with the specific power of paladins and sorcerers. I think it has more to do with people wanting to have good dialogue characters as their main character. When you give people a highly restricted stat budget, that means classes that do need to sacrifice combat capability for prowess in dialogue checks.