H-1B visas lower employee power in the hiring arrangement, forcing potential candidates to accept lower wages by allowing companies to retain existing H-1B workers indefinitely without wage adjustments. Lowering the ability for a class of workers to advocate for themselves lowers the ability for all workers in that field to advocate for themselves by removing a subset of those workers' bargaining power.
In all honesty, H-1B visas mostly seem to fit into society as a way to outsource without looking like you're doing so - I'd rather companies outsource as they desire (and feel the penalties of doing so) or be forced to hire from a pool of candidates who were able to legally immigrate into the US. If the pool of candidates available in the US is too low then we should relax quota laws and let more people immigrate.
Done.
And there is no political will because a lot of companies make tons of money off of exploiting workers who have two options (1) continue working for the company and accrue no or very few benefits over time (2) quit and be deported. Giving your employees a choice like that makes all the worst people in management salivate... thus no one lobbies to remove H-1B visas, many people lobby to maintain or expand this "source of skilled labour" and politicians see no reason to take a stand on an issue that gets very little time in the spotlight and would cost them big in terms of donations.