I've left two companies over ethical concerns, but it's not as easy for most people implied here. Losing income can be challenging, especially if the industry is in a downturn.
Out of curiosity, did you leave those companies because the company's core business was unethical (or veered that direction over time), because leadership was generally unethical, or because specific incidents that forced your hand?
At a previous job I saw unethical choices made by my boss, but the company as a whole wasn't doing anything wrong. One of my coworkers was asked to do something unethical and he refused, but he wasn't punished and wasn't forced to choose between his ethics and the job.
Every time I had to leave for ethical reasons it was a leadership thing, mostly relating to how they treated other employees.
For instance, I joined a company that advertised itself as being fairly ethical (they even had a "no selling to military" type policy). However, after joining it was apparent that this wasn't the case. They really pushed transparent salaries, but then paid me way more than anyone else. There was a lot of sexism as well: despite one of my colleagues being just as skilled as I am, this colleague was given all the crap work because leadership didn't think they were as capable as I was. There was a lot of other stuff as well, but that's the big summary. I left after nine months.
The other company was similar, but it wasn't nearly as obvious at first. Over time it became very apparent that the founders cared more about boosting their own perception in the industry than they did the actual startup, and they also allowed the women in the company to be treated poorly. This company doesn't exist anymore.
I should mention that these were all startups I worked at, and I was always fairly highly positioned in the company. This meant I generally reported directly to the founders themselves. If it was something like a middle management issue I'd have tried to escalate it up to resolve it before just leaving, but if that doesn't work I'm financially stable enough to just leave.
Well it's weird for me, because I was one of the people being treated better (I'm a guy). I just don't want to work with assholes, so when I see people being assholes to other people and leadership doesn't take it seriously then I leave.