Also found out it only works when the player decides to choose their name literally puts in "[player_name]" as their character name
Viewing post in yet another phone for renpy comments
Hello! Yes Ren'Py doesn't replace variable between brackets everywhere, so that's why your example only work when the player input literally [player_name].
I don't have a way to test right now, but simply defining MC_Name = player_name rather than MC_Name = "[player_name]" should work. Let me know if it does! :)