В русский язык имя пришло из греческого, где звучало как Ιωάννης (Иоаннос). Как видите, в греческом варианте имени удвоенное НН, которое передалось "по наследству" в наш язык. В греческий язык имя пришло из первоисточника - древнееврейского языка (יחנן Йоханан, Йеѓоханан). Судя по транскрипции, две согласных Н и здесь в наличии.