"Best" is a rather subjective attribute, especially when no reference is provided. Just about every 3D modeling program has the ability to create text for STL models. In my opinion, Tinkercad will be the easiest to use and the fastest, but also the most limiting when it comes to typeface selection. On the other end of the scale, you'll find programs capable of the task but poorly suited. Again, it's just one person's opinion, but ZBrush and Blender can do it but it won't be easy to learn. In the middle, I find OpenSCAD to be the best program for me, while you'll find many users like Fusion 360 and OnShape. The mirroring aspect is possible in all of these programs.