Just like solving math or programming in a general sense is much harder than a specific solution , so is passing a broader law.
We don’t complain about switch cases in code when there is two or three switches we start refactoring once it starts to proliferate.
The law is no different , passing a wider ban would not get the votes easily or quickly and the interested parties the onion industry have no reason to push for it neither does the lawmaker acting on their interests.
If said small markets also had exceptions passed seeing the onion one there could have been case to be broad.
It would premature optimization to otherwise, based on just need for elegance , code or law has to work first even if dirty .