Zermelo's theorem proves forced win or draw for chess, and generally, enumerating all of a game's outcomes (by proof) is done by "solving" the game. Chess currently isn't solved. Other answers (1, 2) elaborate further, but I'd like to provide another angle to 3-fold repetition enabling this.
If asking about finished games, neither 3-fold repetition nor 50 move rule are needed; "impossible to mate" and "no legal moves" rules (yielding draw) suffice. That the game can go on infinitely, with positions repeated, doesn't change the fact that a mate is still possible. This would differ in a variant of chess where a piece is removed every 60 moves; then, end by draw can be forced. If pieces are added, a checkmate can be forced. But in plain chess, this is only semantic: an infinite game is forced if perfect players produce a position where first to not repeat loses.
The 50 move rule also isn't needed if there's 3-fold repetition, it only accelerates the result (a lot): it's 3 total, not consecutive, repetitions, and the total number of possible positions is finite. And it's not necessarily 3-, but 5-fold, which is handled differently between chess.com and lichess.org.
Note, the 50 move rule (rather 75 for forced as opposed to claimed) does influence the outcome of "perfect chess", since a mate may be possible but only after (say) 100 moves, which actually motivated the rule (and a term "cursed win"):
in the 20th century it was discovered that certain endgame positions are winnable but require more than 50 moves ... [so 100 were allowed] ... However, winnable positions that required even more moves were later discovered, and in 1992, FIDE abolished all such exceptions and reinstated the strict 50-move rule over the board