Articulating why a certain function is bad design or is actively harmful is not the same as gatekeeping. I have lost opportunities because I chose to follow my ethics over my bank account. I do not regret those decisions.
Software developers should have a professional code of ethics. Other professions have them, why not computer scientists, computer engineers, and software developers? There is the ACM/IEEE-CS Software Engineering Code, but I don't know any professionals outside academia that remain ACM members, IEEE membership might remain relevant for computer engineers, so I may well be wrong in that regard.