How to Make a Rotation on Two Different Axes?
Copy location constraint

The easiest way to keep the text horizontal is to not rotate it at all. Let's see the movement from another perspective: it's a text, that doesn't rotate, but it's origin is moving on a circular rail.

Use an empty to build a pivot in the center and another to set the position of the object's origin. Parent the last empty to the first one and animate the pivot to build a moving point.

Now add a constraint to the text object's location targeting the moving empty. The text will not rotate (why whould it?), but it's following the movement, achieving the desired effect.