Why is 20. Kf7 the best move for Black?

In endgames (no queen), it's often good to centrazile kings. It's risky when there are still many pieces around, but here white doesn't seem to be able to break in easily. Plus, it reinforces you backward pawn and relieve your bishop from its guard.

Also, your opponnent has the bishop pair and two rooks on the open file. It's in your interest to keep the position closed (defend backward pawns).

I am not an expert but your moves 18 and 19 look to me perfect. His white bishop was threatening your excellent defender knight and you made him irrelevant with good pawn moves. c3 was very bad move because you don't have good position to attack his king, so it only weakened your defense.
Regarding Kf7, mainly what @AACtrl sad.

edit: Sorry, forget my mentioning King side attack. The move c3? is on queen side, and I thought you played 20. .. f3?

20...Kf7 is good, but also 20...Bc6 is fine. 20...c3 is a blunder, as white can take 21 Rxd5 exd5 22 Bxd5+ and 23 Bxa8.

On move 20 for black Kf7 is a good move, but there are many other good moves.

h5 is solid
h6 is solid
g5 is solid
g6 is solid
a6 is solid
Bc6 is solid
Rf6 is solid
Rf7 is solid
basicalyl all rook moves that don't just hang the rook are fine
b4 is the 2nd worst move.

Pretty much every move is winning for black but c3 which is losing because rook takes knight then the bishop then it I think leads into a RBB vs RR endgame where the rook and bishop pair are just murdering the rook pair.

You can't post in the forums yet. Play some games!