I know people will respond that "God is capable of evil but CHOOSES not to do evil", but that doesn't really solve the problem.
A perfectly unbreakable iPhone would be an iPhone that is physically incapable of breaking. A regular iPhone does not get promoted to "perfectly unbreakable" simply because you have not broke it yet.
The fact that it is CAPABLE of being broken, even if it never has been, renders it imperfect. It is breakable, it just hasn't been broken.
If God is perfectly good, he should be INCAPABLE of evil. The fact he chooses not to do evil does not negate this. He is potentially evil, therefore he can't be perfectly good.
If you want to argue that God is incapable of evil, yes, he would be perfectly good, but now you're arguing God is not omnipotent.
It seems to me God is either omnipotent OR perfectly good, but not both.
Added (1). "Obviously God can't act in violation of His own will"
So God is not omnipotent? He's constrained by the laws of logic which, if he made the universe, shouldn't he have created? If he didn't create the laws of logic, then who did? Ubergod? If he did create them, why is he bound by them? Aren't you just proving he's not omnipotent?