Because of the greed of the employers themselves.
Their greed killed the Bracero program because they hired Mexican braceros at sub-standard wages in order to increase profits and in the process displaced American workers. This was strictly against the terms of the program and as a result, the farm workers union got the government to kill the Bracero program.
Compassionate to whom? Certainly not the AMERICAN People.
Of course. And that is the answer to the question:
"Why do we need guest workers?"
Answer: Employee greed.
And I dare anyone to argue otherwise.