Software developers are wage labour because they don't need a license to practice. That is the only difference between the other professions that you mentioned here and software engineering.
And let's not act as if there are no questionable practices amongst doctors, accountants, lawyers, and 'real engineers'.
I agree about the need for an ethical code though. Maybe a license could enforce that? I don't know how a license would work in a relatively easily outsourced job though.