script.Parent.Name.SurfaceGui...
Is Name a child of script.Parent? Or a property?
Even if it is a child, i think the problem is because you are not waiting for the things such as the SurfaceGui or the TextLabel to show up. Here is how you should reach the TextLabel/EOD:
local Main = script.Parent
local NameGui = Main:WaitForChild("Name")
local SurfaceGui = NameGui:WaitForChild("SurfaceGui")
local TextLabel = SurfaceGui:WaitForChild("TextLabel")
local ItemsFolder = workspace:WaitForChild("Items")
local EOD = ItemsFolder:WaitForChild("EOD")
TextLabel.Text = EOD.Value.Name
The WaitForChild function will wait for an object with the name given to appear, since when your game first starts most instances haven’t yet been created (Like the Baseplate).