CUPS printer server considers everything that you send it as a separate printer job. This means, your line containing "Hi" is a printer job. By default, different printer jobs go to different pages; this explains what you are now getting.
Now, 30 years ago when all printers were like your Epson 9pin, things were different. Printer managers like
CUPS were seldom used. It was very common to send data to the printer one line at a time, like you do with your
echo, and it was natural for the printer to wait for the next line, without going to the next page. This is how we used to print stuff. If you want to do that now, you'll have to print using "RAW" mode, practically bypassing the printer job management that CUPS performs. You'll also need to suppress the "form feed" that CUPS by default sends in between printer jobs, which causes the page change; you'll need to print a final "form feed" yourself.
I suggest that you take a look here, you may find your answer already waiting.