Welcome in the forum!
UART_PutString() handles C-Language strings which always have to be NULL-terminated. If your string lacks the terminator, the function will start to send chars out until it finds a \0 by accident.
PutString() and PutChar() are "blocking" functions which means that they check for themselves for a free buffer and wait until all their characters are stored (but not yet transmitted. So there is no need for you to wait for an empty FIFO.
Thank you. Null termination is exactly what I was missing.
You are always welcome!