Very strange worldview you have there, where engineers are somehow the conscience of the world, holding back greedy managers from breaking the law. Assessing whether a feature is legal isn't something an engineer can or should do.
Hmm, engineers are expected to know what is legal and not.
Would you say the same about any other engineering discipline? Those with actual qualification standards?
Most engineers are required to explicitly take responsibility for the things they sign off, up to and including prison for sufficiently bad cases. Software “engineering” is the exception.
You're arguing for diffusion of responsibility, and we've seen it leading to outcomes that screw the whole society.
Engineers, as everyone involved, should definitely assess whether what they're doing is legal or even ethical. Not everyone has a choice, or the luxury to stand for their principles, but that's a matter of means, there needs to be a will in the first place.