Предлагаю такое объяснение.
У слова "зноен" "н" является суффиксом, (зной). У слова "спокойный" - тоже (покой). А у слова "достойный" - мы слышим "н" как часть корня (достоинство). Поэтому "и" и фиксируется. Что до "удостоен" - то там "н" в корень не входит (удостоить). Таким образом, похоже, язык уже различает два корня: "достойн" и "достой".