Когда вы устанавливаете для переменной значение, а не ссылку, оно остается этим значением до тех пор, пока вы его не измените.
object.Value = 5
local myValue = object.Value
object.Value = 10
print(myValue) -- Prints 5.
Это происходит потому, что они не связаны и, следовательно, изменения не переносятся, какэти переменные ниже:
local a = 5
local b = a
a = 10
print(b) -- Prints 5, because b was never changed (but a was).
Что вы хотите сделать, это определить вашу кнопку и ваши объекты-значения как ссылки, и просто получить доступ к .Text или .Value, когда вам нужно прочитать значение.
local myButton = button
button.Text = "Howdy!"
print(myButton.Text) -- Prints "Howdy!"
myButton.Text = "Hey there" -- this is the same as button.Text
print(myButton.Text) -- Prints "Hey there"