「朝に」は「in the morning」、「午後に」は「in the afternoon」、「夕方に」は「in the evening」なのに、「夜に」は何故「at night」なのか?

これは「誤解」です。「特定の日の夜に」の場合は「on the night of」になるし、「夜の間に」のイメージなら「in the night」になります。

これは場所を表わす場合と同じで、「時間」を表す場合に、
in は、ある程度幅のある時間の中を表す。
at は、ある時点を表す。
on は、その中間(点より大きいが in ほどは幅がない)を表すからです。

「夜に3回も電話があった」というような場合には「時間の幅」を感じますので「in」が使われるでしょう。「彼女に会ったのは夜だった」というような場合には「時間の幅」が感じられませんので「at」が使われるでしょう。

「彼女と最初に会った日の夜に、キスをした」というような場合には、in に感じられるほどの幅が感じられないので「on」(マーク・ピーターセン「英語塾」)。「最初の朝に」も「on the first morning」と「on」が使われます。

「on」について
「佐渡に」は「on the island of Sado」といいますが、島は海に浮かんでいる台のような物で、その台の上にあるという意識で「on」が使われます。著者は「○月○日に」という場合には「on」が使われることに注目しています。即ち、「特定の日」というのは1つ1つの「台」みたいなもので、そこにあるものは皆その台に乗っているという意識で「特定の日の夜に」の場合は「on the night of」になるのではないかと思っています。

特定の朝とか夜でも「early」とか「late」がつくと「時間の幅」を感じますので、これが前面に出てきて「in」が使われるでしょう。