Really, ethics demands that even if there is only an appearance of impropriety, you need to resign. Someone who doesn’t just proved they aren’t ethical.
Only the highest level of ethics demands you resign if there is a hint of impropriety. Almost by definition, being a politician means you have no ethics.
I totally agree with you that, if you don’t resign, you have proved yourself unethical. The problem is that so many people are willing to bear false witness (look at the Kavanaugh hearings, the impeachment) that it can be hard to separate the true charges from the false.