Because Johanna is the feminine form of Johannes. The Germans have been spelling it that way for centuries.Etymologically, Hannah is not connected at all to John / Johannes / Johanna. It is confusing, though.
Well, Hannah means grace and John means God's gracious gift or gift from God or something like that and both come from Hebr., so there may be more etymological connection than you realize... That said, I do prefer it w/out the h on the end.