Fetching PlayerGuis Isnt Working. Dont Know How To Make It Local

In two areas of code I am fetching all players guis and making putting them into a frame, then putting the frames in a folder to be moved to another frame for everyone to see. But everytime it loads the gui its taking from the players are not what the player has. Its just loading the original gui and I dont know how to work around this.

Code to fetch gui:

for _, del in pairs(game.ReplicatedStorage.PlayerDesigns:GetChildren()) do
del:Destroy()
end

wait()
for _, plr in pairs(game.Players:GetChildren()) do
local tag = script:FindFirstChild(“Template”)
local clone = tag:Clone()

  local top = plr.PlayerGui.Designing.Frame.Top
  
  local base = top.Base:Clone()
  
  base.Parent = clone.Design
  
  clone.Design.Image = top.Image
  
  clone.Parent = 	game.ReplicatedStorage.PlayerDesigns

Code To Fetch The Gui With The Players Gui Inside:

for _, players in pairs(game.Players:GetChildren()) do

  for _, del in pairs(players.PlayerGui.Voting.Frame.Frame:GetChildren()) do
  	if del:IsA("ImageLabel") then
  		del:Destroy()
  	end
  end

  for _, plr in pairs(game.ReplicatedStorage.PlayerDesigns:GetChildren()) do
  	local clone = plr:Clone()
  	clone.Parent = players.PlayerGui.Voting.Frame.Frame

Heres It In practice:

The Gui Before Editing, when players join the game

An Edited Gui Example:

The Gui The Script Makes That Dosen’t Seem To Update The Edited Look (the username part works but not the gui clone)

RobloxStudioBeta_OQ3fOSxOmk

Just checking to make sure, are both of these scripts in the same respected-side? (Both Server or Local)

Both are done through the server as you cant access others playerguis from local scripts

You may want to wrap the code that updates your gui in a function, and call it whenever a change is made to your look, e.g (not sure if I got the right code, this is the second code example you showed):

local function Update()
    for _, players in pairs(game.Players:GetChildren()) do

	    for _, del in pairs(players.PlayerGui.Voting.Frame.Frame:GetChildren()) do
		    if del:IsA("ImageLabel") then
			    del:Destroy()
		    end
	    end

	    for _, plr in pairs(game.ReplicatedStorage.PlayerDesigns:GetChildren()) do
		    local clone = plr:Clone()
		    clone.Parent = players.PlayerGui.Voting.Frame.Frame
	    end
    end
end

-- Change made
Update()

Same goes for the first script (if needed)