Do Nested Monte Carlo Algorithm always find the best score where score is the number of moves on the leftmost path
You've asked many questions.  The usual rule on this site is to ask one question per post.

The definition of sample is correct.  play evaluates where you end up after making a single move.  sample evaluates the result of a game where both players randomly choose a move.

In other words, imagine a particularly stupid strategy, where both players randomly pick a move (blindly, without taking into account the position or any other strategy; it's purely random) at each step.  Starting from position, you could simulate playing out a full game and see what happens.  The resulting score (which player won) gives you a very crude approximation of how you should evaluate position.  For instance, suppose in that random playout, the first player happens to win.  Then we might suspect that position is better for the first player than the second player.  Obviously, this is a crude approximation, but it's just a start.  And that's what sample computes.

So that approach computes the level-0 approximation of the evaluation of each position.

Of course, given a way to compute an evaluation score for any position, that gives you a way to play the game: whenever it is your turn, look at all possible moves you could make, evaluate the resulting position, and pick whichever move takes you to the position that looks most favorable for you.  That's what the logic is doing with the argmax.  So, this gives you a level-0 strategy.

Now we're ready to talk about how to compute a level-1 approximation of the evaluation of each position.  Basically, we simulate doing a playout -- we simulate playing the game -- but now rather than using a blind random strategy, we use a slightly smarter strategy.  In particular, each player uses the level-0 strategy described above to decide how to move.  So now simulate a game where both players are using the level-0 strategy, starting from position, and keep going until the end of the game.  See which player wins.  This is your level-1 evaluation of position.

You can use the level-1 evaluation to form a level-1 strategy: always make the move that leads to the position whose level-1 evaluation is as favorable as possible.

And now you can probably see how to use this idea to form a level-2 evaluation, and a level-2 strategy, and a level-3 evaluation, and so on.  That's the idea of nested Monte Carlo.