Basically, the proof works like this:
First, you draw a big tree of every possible chess game history. (The three move repetition rule + finite number of board positions guarantee that there are only a finite number of game histories)
You do it as follows:
At the very top of the tree, you place the game history with no moves; i.e. the initial gamestate.
Then, you draw an edge for every move white can make, and you put the corresponding game history at the end of that edge.
Then from all of those nodes, you do the same for every possible move for black, then again for white, et cetera.
In principle, this gives is a big game tree that has the results of every possible combination moves the players can make.
Now, we work from the bottom up. The leaves of this tree represent finished games (they're leaves because there are no moves that can be made from them). We go through every leaf and label it W if white won, B if black won, and D if it was a draw.
Now, for every node in the tree such that we've labelled all of its children:
If it is white to move
:if there is a child node labelled W
::label this node W
:else if there is a child node labelled D
::label this node D

therwise label this node B
otherwise it is black to move
:if there is a child node labelled B
::label this node B
:else if there is a child node labelled D
::label this node D

therwise label this node W
The nodes labelled "W" are nodes from which white is guaranteed a win by perfect play. The nodes labelled "B" are nodes from which black is guaranteed a win by perfect play. The nodes labelled "D" are nodes where both players are guaranteed at least a draw through perfect play.
The proof that the above claim is correct is by induction:
It's obviously true when the node we consider is a leaf. White is clearly guaranteed a win if he's already won!

et cetera
Now, choose some node in the tree, and assume the claim is correct for all of its descendants. It's easy to see that the claim is also true for this node!
For example, if it is white to play at this node, and one of the children is labelled "W", then white can play the move that leads to that node, and since that child node guarantees a win for white (through perfect play), the current node also guarantees a win for white, which is why we labelled it "W".
By induction and the fact the tree is finite, the above construction proves my claim that exactly one of those three possibilities is correct for any particular gamestate. In particular, there is an answer for the initial board position!
The only reason there is any uncertainty at all is because the game tree is far too large to compute (either by our brains or by computer). There is uncertainty because we run out of computing power and we're forced to guess at the labels instead of being able to continue the tree until its completed.