Why are Bitcoin miners not speeding up and expediting the confirmations? Is it for personal gain? in that case that means Bitcoin is centralized and not decentralized because miners can control its fees?
There is no way for them to "speed up" or "expedite" confirmations... They (the miners) have hardware running to find a sha256(sha256(block header)) that's under the current target. It's not like they can increase the target by themselfs nor do they have a button they can click to increase their hashrate (in order to do this, they have to buy expensive ASIC's, which can take several weeks to arrive and configure). An increase in the target will only happen if the average time between blocks is > 10 minutes, at this point the difficulty will be decreased and the target will increase at the next difficulty adjustment.
If you look at any block explorer, for example this one:
https://blockstream.info/ you'll see that the last 10 blocks were completely full (out of the 10 blocks that were shown). This basically means that individual miners are not hindering anything, they're doing everything they can to confirm as many transactions as possible.
Appartently there was a significant drop in hashrate recently, it's being attributed to chinese miners turning their gear off because they have to pay higher power prices this season (it's a rumour, there's no proof AFAIK), so they can't mine profitably. This might cause the average time between 2 blocks to be > 10 minutes. But still, we'll have to wait untill the next diff adjustment... An individual miner cannot change, fix, or speed up anything.
The problem is basically that more transactions are broadcasted per timeframe than can be fitted into blocks at the same timeframe... It can be caused by to many transactions, or by a drop in the network's hashrate (so less blocks will be solved). In this case, it looks like it's both; more transactions + drop in the hashrate.