Label or RichTextLabel can both work, depending on how much formatting you need in your text.
You can show/hide the box with the
For detecting proximity, use an Area2D. On the
body_entered signal, show the box, and on
body_exited hide it.
As for tutorials, while you might not find exactly this, there are many tutorials out there on using the individual components.