Code not running in the intended way

Hi! Please watch this video and I’ll explain the situation after so you understand: https://gyazo.com/0806aebfb55c12b3c65f229665dfb849
Basically, I want the user to be able to pick two options, one on the left side and one on the right side. But in the video, I was only able to pick two options from the left but none on the right. I was not able to change my selection even before I pressed the continue button. I don’t have any solutions and would appreciate some suggestions on how to fix this. This is my code that I’ve put into each button:

local button = script.Parent

button.MouseButton1Click:Connect(function()
	local gradience = button:WaitForChild("Gradience")
	local chosengradience = button.Folder:WaitForChild("ChosenGradience")
	local chosen = button.Chosen.Value
	local category = button.Category.Value

	for i, v in pairs(button.Parent:GetChildren()) do
		if v:isA("TextButton") then
			if v.Name ~= "Continue" then
				if v:WaitForChild("Category").Value == category then
					if v:WaitForChild("Chosen").Value == true then
						v:WaitForChild("Chosen").Value = false
						v:WaitForChild("Gradience").Color = v:WaitForChild("Folder"):WaitForChild("ChosenGradience").Color
					end
				end
			end
		end
	end
	chosen = true
	gradience.Color = chosengradience.Color
end)

Could you show us the workspace ?

And is this sever script or local script ?