You're making an excellent point that I think people are misunderstanding, unfortunately:
Let's say github's goal was to define license terms such that ICE is banned, but not other legitimate companies that do a lot of good for the world.
It would be great if solving this was as easy as saying "you can only use this if you never aim to separate children from their families", but it's not, because such a term would also require you to boycott Child Protective Services -- which can and does save children victims from horribly abusive parents and other terrible circumstances.
I've personally known people who were repeatedly raped by a family member throughout their early childhood. This is incredibly, devastatingly evil. It DOES happen, and if after acknowledging this, you seriously think there is still NO circumstance in which a child should be separated from their family -- then you are a horrible human being. But I don't think any of the downvoters think this, so I am genuinely curious: Why do you really think such a simple, un-nuanced license term would work without harmful side-effects?
Note: You can't just say "we'll enforce the license terms subjectively". Selective enforcement defeats the whole point of adding it into your terms of service or licensing terms -- because then, you might as well just go back to ad-hoc boycotting as per the personal ethics of your corporation's senior leadership. Aside from that, you do have to precisely define what you mean -- precisely which scenarios are or are not tolerable to you, etc.