Humans make mistakes; it isn't possible to live the "ideal monk" life. The real question is how small problems are handled? Compromising when the problem isn't a "big enough" ethical problem inevitably[2] pushes that boundary back in a cycle of normalized small, easily avoided deviances. Instead, if a hard line is taken against small problems when they are still small, a lot of larger problems can be avoided.
[1] https://en.wikibooks.org/wiki/Professionalism/Diane_Vaughan_...
Not seeing the distinction here. If you're an idealist the way hueving indicated and don't live as a monk, you're necessarily compromising on your values every day. And not on trivial or inconsequential things either, since you could easily donate to a variety of non-trivial causes.
What you're suggesting just sounds like reflexive goalpost-moving: the compromises I make are okay, the compromises others make are not.
"This ideology is impractical/contradictory but still effective in a group" is a potential valid point to make in another context, but irrelevant to what we were specifically discussing here.
Refusing to work for a defense contractor has a real long-term impact because you are depriving them of your labor. Working for a defense contractor but not on specific projects is meaningless because they still profit from you and support the military.
If you cut back on living expenses, you could give thousands every year to hungry kids or the environment or [insert good cause here]. Those are all things that really matter. Especially over the course of many years, you could make a real difference. You don't get to handwave away this point just because it's inconvenient to your argument.
You're trying to find a loophole in your own logic to excuse your own behavior that violates your self-proclaimed values. I get that nobody likes cognitive dissonance, but it's quite obvious you're not being internally consistent here.
You can believe that people have a moral obligation to do good, without believing that people have a moral obligation to maximize good in every aspect of their lives.