✨ ベストアンサー ✨
理由を言うとするなら「時間」と「時刻」の違いです。
after の後ろには、時間に関する表現では無くて、時刻や特定の時間帯を表す表現であれば入ります。
例えばafter midnightは
midnightは、夜中の12時/0時という時刻、もしくは真夜中の時間帯 という意味なのでafterの後ろに来れます。
an hourは、「時間」に関する表現ですよね
真夜中0時からAM1時の1時間でも
13時から14時の昼の1時間でも、どちらもan hourですよね。こういうのはダメ。