For the first one, I use broadcast (skip) and wait block under the hide and my whole text box engine.
For the second one, I use broadcast (skip) under the hide and my whole text box engine.
So basically, the broadcast skip is to set the counter to 1 in order to make the clone delete itself and make new text.
I got inspired from seeing another scratch program of DDLC fanmade game. I used to use stamp to make the text engine, but unfortunately it can't be placed in front of a sprite, so I can only rely to clones.
Here's the link to my scratch project: https://scratch.mit.edu/projects/453547552/.
And the reference project: https://scratch.mit.edu/projects/393632602/ (most of the code is in text_story).
How about you make the background the textbox. You can use stamping there. If you want you can also use mine with credit(Mine uses stamping though, but it is solid. You should try my suggestion to use it.): https://scratch.mit.edu/projects/673830362/