Currently enforcement is expensive, because in order to prove that somebody is/isn't allowed to work, you need to first identify them. Without any way of identifying workers, how could the government make the case that a company is employing people illegally? Generally crime incidence is higher when chances of getting caught are low, so as long as the government cannot practically enforce these kinds of laws, employers are more likely to continue breaking them.