Having too many taxis does, however, hurt the income of the taxi drivers, or at least of the companies that own all the medallions.
This should be a self-correcting problem.
What I don't fully understand is why taxi drivers themselves aren't Ubering in between regular fares.
My guess is that they can't. They have a certain rate that they have to charge which is required by law. That's the whole problem. Uber is based on supply/demand. If the fares get too cheap then drivers drop out. If it gets too expensive then passengers drop out. If they need more drivers, uber can pay the drivers more. If there are too many passengers wanting rides, uber can do surge pricing until passengers start removing themself from the pool.
Many taxis have none of these flexibilities and charge a fixed price 24/7. If taxis were allowed to set their own price, they might decide that a 2am cab ride should cost more than a 10am cab ride, or a million other factors. The current laws came about because taxis were making up the price on the fly and cheating customers. There are plenty of ways to make taxis fair without making them charge a fixed price.