How do I wrap text around a circle having it still standing up?
This relatively automated method places them automatically.

Create a simple plane object. In Edit Mode move about the Y axis the distance of your clock radius.
Aligned with the plane object center (not the geometry) add an empty object and rotate it $-30º$ about the Z axis.

Now add an Array modifier to the plane, set to Fixed Count and 12 iterations. Turn off all offsets and activate Object Offset pointing to the previously created empty object.

Create a bunch of numbers as separate (text or curve) objects. Center the text both vertically and horizontally for easier placement. Add them all to new collection (named &quot;Numbers&quot;) containing those numbers exclusively.
Have in mind that the order in which you create your number objects is relevant. Particle sorting is as far as I can tell most likely obtained from chronological creation order, so the sequence you create your text objects in will directly influence the way numbers will be placed by the particle system, so when creating new objects or duplicating existing ones be sure to follow 1&gt;2&gt;3&gt;...&gt;12.
Now add a particle system to the plane set to Emitter, reduce the count to exactly $12$, turn on Use Modifiers, disable Random Order and Even Distribution and set the Particles/Face count to $1$.
Activate Rotation and under it set Orientation Axis to Object Y.

Under the Render panel pick Collection as Render As type and set the numbers collection as Instance Collection. Make sure Whole Collection, Pick Random and Global Coordinates are all off, and under Extra enable Unborn and Died.

Optionally turn off both Show Emitter and Render Emitter in the Viewport and Render panels.
This should ensure numbers are correctly placed at the right angles automatically for any arbitrary number of items without rotating them individually.