I realized that I’ve been typing object names manually all this time and finally came to the conclusion that this has to be easily solvable with a script (and ideally it should be a native Rhino function). This is exactly what I needed, thanks, Dale.
I also wanted this and turns out the solution is extremely simple. In the Python script, change line 64 from this:
cmd = '_-Leader {} _Pause _Enter \"{}\"'.format(point, text)
to this:
cmd = '_-Leader {} _Multipause \"{}\"'.format(point, text)
This way the command waits for additional points and only when you’re done, you confirm it, just like in regular Leader command.