Oops, sorry in one of my projects I am referencing a label from another script, but in your case you would use "text" (like you are currently) rather than "label.text" like I was saying
What I meant to say was that text is a string itself so you can insert other strings into it:
text = text.insert(1, 'thing')
and add onto the end of the text like so:
text += 'thing'
The label variable that I was talking about before is for accessing a label from another script. If you were accessing a label from another script, you would have to create a variable that holds the label node and access the text of the label node from the label variable's .text property, but you are not accessing the label from another script, you're programming from a script that is connected directly to the node. So where I wrote label.text in previous comments, I should have just said "text" instead of "label.text".
So strings, like ggg in your example above, do not have a .text property, sorry if you were confused by me writing label.text, know that that was my mistake and I was thinking of a different case. There are no .text properties in any of the variables you are working with, as far as I know.
That's why your second code example isn't working, there is no .text property of a string