Ah. What you did was set a property value as a variable.
When you set a property as a variable, you store the value it holds and not the object itself.
What you want to do is to create a variable of the Text Label, and set the text.
replace local text = workspace.Text.SurfaceGui.Frame.TextLabel.Text
with local textLabel = workspace.Text.SurfaceGui.Frame.TextLabel
and replace text = timer
with textLabel.Text = timer