I'm pretty sure I understand that perfectly. But I don't think that's necessarily wrong in the way you are assuming (although I can see why people might feel it's unfair): No-one has a God-given right to be paid £X/hour just because someone else is paid that amount. If I'm unhappy with my salary and I want to be paid more, then it's up to me to persuade my employer that I'm worth more, and/or think about my skill levels and consider how I can improve them so that I become worth more to an employer (and possibly change jobs). Demanding that the Government force someone to pay me more than they want to is not the way to do it. After all, if you think about it, controls on wage levels are no different in principle from price controls - for which I think you'll find there is an overwhelming consensus amongst economists that they usually do more harm than good.
Regarding firing people at a moment's notice. That's presumably possible because the company isn't the person's employer, and to that extent the situation is rather like that if you or I decide we no longer want the services of a tradesperson such as a builder or window cleaner, then we're not obliged to employ them any longer than we wish to. HOWEVER - presumably the agency worker is being employed by the agency, and if their status is for all practical purposes an employee, then they ought to have employment protections to ensure the agency keeps paying them for a reasonable notice period, even if the company they are placed with no longer wants them (And it should also be the responsibility of the agency to deal with holidays, sick pay, etc.). That's where I'd be looking to solve that aspect of the problem.