Is there a way to array an object along multiple curves without having to duplicate the object for each curve
Particle System above.  Objects are emitted from faces. All the particles can be changed with a single GUI entry. Non faces are ignored.  Carefully duplicate the settings.  The number setting should be suited to your case. [Particles/Face] &lt;-- 1 and [Random] &lt;-- False. Particles can conveniently represent a sequence of items.  

Suit to your needs. You can arrange the faces with no connection to other faces.  My presentation was done with speed in mind.


Particles use collections.  The arrow in the image above.

Particles can efficiently reuse/instance mesh data. I would change your representation to a mesh with Particles.  

Group instances bound to an [empty] can also efficiently represent your visuals.  More instances.

Both techniques can be searched here at BSE or the website that rhymes with NooNube.



.

Sharing a mesh data block. See the edit history if this interests you.