In Inform 6L02 and later versions, when you assign a variable or property to a string with a text substitution in it like "[the player's command]" then Inform by default views that as an instruction to evaluate that substitution anew every time. This lets us do things like set the description of a watch to include "[the time of day]" and have Inform automatically print out the time it is when we look at the watch.
In this case, this means that when we say
now the player name is "[the player's command in title case]"
Inform takes it that we will always want the player's name to be whatever "[the player's command in title case]" evaluates to at that moment. If the player has just typed "x me" Inform will evaluate the player name to me "X Me."
When we don't want that to happen, we use an operator called "the substituted form." This freezes the string to whatever text it inputs when evaluated right now, at the moment we're assigning it. So if we change that line to:
now the player name is the substituted form of "[the player's command in title case]"
then Inform will evaluate whatever the player's command just was (say, "biffalo buff"), put it in title case ("Biffalo Buff"), and then freeze the player name to be that exact text. So the player name will be "Biffalo Buff" forevermore (or until we change it again), as desired.