This section here is why. You only have one new_word variable, so each time this loop runs, it overwrites the previous value. The only value that doesn't get overwritten is the last one, and you end up with a single string.
for word in words:
new_word = word[1:] + word[0] + "ay"
say = "".join(new_word)
Instead, make sure that each new word ends up in a list. The most intuitive way to do it, IMO, is through list comprehension. Below is how you would format it for this, but look up how to do them. Seriously, it's a couple minutes of your time and they'll be one of your best friends as you continue to learn. You can also do the same thing with dictionaries.
pig_latin_text = [word[1:] + word[0] + "ay" for word in words]
say = " ".join(pig_latin)
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…