A token is not a word but a word part. On average you can count 4 letters per token.
Your try to set max_new_tokens = 300 will limit your output to round about 4 x 300 = 1200 letters.
Increase your max_new_tokens setting to a higher value.