Changing billboardgui properties for local player only, but it doesn't work as intended

Hello. I am trying to write a script that will be available only for admins and will change the properties of all billboardGUIs that are within the HRP of every player character. Here is the script:

local UIS = game:GetService("UserInputService")
local PLR = game:GetService("Players")
local player = PLR.LocalPlayer

local size = "default"

UIS.InputBegan:Connect(function(input, gpe)
	if gpe then return end
	
	if input.KeyCode == Enum.KeyCode.U then
				
		local id = player.UserId
		if table.find(admins, id) then
			
			for i, v in pairs(game.Players:GetPlayers()) do
				
				local name = v.Character:WaitForChild("HumanoidRootPart"):FindFirstChild("UpperGUI")
				
				if size == "default" then
					size = "big"
					name.Size = UDim2.new(0, 120, 0, 35)
					name.MaxDistance = 1000
				elseif size == "big" then
					size = "default" 
					name.Size = UDim2.new(4, 0, 0.75, 0)
					name.MaxDistance = 50	
				end
				
			end
		end 
	end
end)

Alright so first of all, when there is more than one admin using this script it just breaks. Secondly, the changes are visible from all clients as far as I observed. What am I doing wrong here?
Edit: I was wrong about the problems. Sorry. Check my first comment to what problem is.

Can I see a screenshot or footage of how it is breaking?

Breaking might be a wrong word here sorry. I tested it better now. What happens is that in first script activation only the name (billboardgui) of the person who activated it gets bigger on their own screen. After that same person can’t use it again for some reason.