
現代語では「~た」しかないのに、古文では、
「き」「けり」
「つ」「ぬ」「たり」「り」
とか、たくさんあってややこしいな。

たくさんある理由は、それらの助動詞のニュアンスがすべて異なるからです。
まず、「き・けり」と、「つ・ぬ・たり・り」は完全に別です。

「き・けり」は「過去」で、
「つ・ぬ・たり・り」は「完了」ですね。

さらに言えば、
「き」 出来事の記憶(回想)
「けり」 認識外だったことに気づく(認識外だったことを述べる)
「つ」 ある出来事の終了・完成としての「完了」
「ぬ」 ある出来事の発生・成立としての「完了」
「たり」 存続(存続でなければ完了)
「り」 存続(存続でなければ完了)
というニュアンスの違いがある。

ぐはあ。

大前提としておさえておきたいことは、
「過去」は「事実の回想や認識」を意味しており、
「完了」は「動作や状態が完了(成立)すること」を意味している
ということです。
ですから、「き・けり」と「つ・ぬ・たり・り」はまったくの別物です。
「き・けり」は「過去回想」や「気づき」の目印ですが、
「つ・ぬ・たり・り」は「作業完遂・現象成立」の目印です。
ひとまず今日は「過去」の助動詞「き」「けり」について見ておきましょう。
き 語り手のいる世界をそのまま回想したもの

助動詞「き」
未然形 連用形 終止形 連体形 已然形 命令形
(せ)/ ○ / き / し / し か / ○
直前の語は「連用形」になります。
(直前がサ変動詞とカ変動詞の場合、その未然形につくこともあります。)

「き」は、終止形は「来」から、他の活用形は「為」からきているという説があります。
特徴としては、「語り手のいる時間軸における過去点」を意味することが多く、「実体験」とか「周知の事実」などを表しやすいです。
例文その1
鬼のやうなるもの出で来て殺さむとしき。
【訳】鬼のようなものが出て来て(私を)殺そうとした。
例文その2
花こそ咲きしか鳥は来鳴かず
【訳】花は咲いたが鳥は鳴かない
けり 認識していなかったことに気づく【ことを述べる】

助動詞「けり」
未然形 連用形 終止形 連体形 已然形 命令形
(けら)/ ○ / け り / け る / け れ / ○
直前の語は「連用形」になります。

「けり」は、「来あり」がつまったものだと言われています。
「ある出来事が、今の語り手のところにやって来る」というイメージです。
したがって、「けり」は、次のような場合に使用されやすいです。
(1)人から聞いた出来事を、いま意識して述べること(伝聞過去・伝承過去)
(2)ある出来事に、いま気がついたということ(詠嘆・気づき)
(2)の「ある出来事に気がついた」ということは、たいてい、一種の感慨をもって胸に迫ってくるので、「詠嘆」の用法または「気づき」の用法と言われます。
「地の文」なら(1)、「和歌や会話」なら(2)と区別しても大丈夫です。

「けり」は、多くの場合、「その過去そのもの」に直面していないということなんだな。

基本的にはそのとおりです。
ただ、その場にいたとしても、実際のやり取りに参加していなかった過去(外側から眺めているような過去)であれば、「けり」を使うこともあります。
たとえば、「戦A」に参加していた人間がその戦を語る際、「戦があった」ということは「き」で表し、「西軍の大将xと東軍の大将yのやり取り」は「けり」で表す、という構造はありえます。

ああ~。
「戦そのもの」には「参加」していたから「き」を使うけれども、「xとyのやり取り」には「参加」していなかったから「けり」を使う、という感じかな。
例文その1
今は昔、竹取の翁といふ者ありけり。
【訳】今となっては昔のことだが、竹取の翁という者がいた【いたということだ】。

「伝聞過去」というやつだな。
例文その2
今宵は十五夜なりけり。
【訳】今夜は十五夜であったのだなあ【あるのだなあ】。

「気づき」というやつだな。
これが別名「詠嘆」になるんだな。

現在でも、「あれ、今日の試験って国語だったっけ?」などと言いますよね。
この「け」は「けり」の「け」が残ったものです。

現在でも「気づきのけり」を使っているということだな!

平安末期以降には、「けり」は「単なる過去」や「単なる詠嘆」の意味合いでも使用されていきますが、基本的にはやはり「けり」は「気づき」や「回想」のニュアンスが濃い助動詞ですね。