When I tried to make my Piggy Game from scratch, I scripted a player's list label script. When the player joins the game and clicks the play button, it is fine. When the player leaves the game and joins back it is kinda strange. Here the script:

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local RemoteEvents = ReplicatedStorage:WaitForChild("RemoteEvents")
local playersFrame = script.Parent.Parent.PlayersFrame


RemoteEvents.PlayerAdded.OnServerEvent:Connect(function(player)
						local playerLabel = Instance.new("TextLabel")
						playerLabel.Name = player.Name
						playerLabel.BackgroundColor3 = Color3.fromRGB(47, 47, 47)
						playerLabel.BorderSizePixel = 0
						playerLabel.Font = Enum.Font.GothamSemibold
						playerLabel.Text = player.Name
						playerLabel.TextColor3 = Color3.fromRGB(255,255,255)
						playerLabel.TextScaled = true
						playerLabel.TextWrapped = true
						playerLabel.Parent = playersFrame
						
						game.Players.ChildAdded:Connect(function(plr)
							if player and plr then
								local playerClone = playerLabel:Clone()
								playerClone.Parent = playersFrame
								playerClone.Name = plr.Name
								playerClone.Text = plr.Name
								playerLabel:Destroy()
								
								local playerClone = playerLabel:Clone()
								playerClone.Parent = playersFrame
								playerClone.Name = player.Name
								playerClone.Text = player.Name
								playerLabel:Destroy()
							end
						end)

end)

RemoteEvents.PlayerRemoved.OnServerEvent:Connect(function(player)
	playersFrame:WaitForChild(player.Name):Destroy()
end)

game.Players.ChildRemoved:Connect(function(player)
	playersFrame:WaitForChild(player.Name):Destroy()
end)