Is SERVICE_NAME forced to be unique per logical database within a network? Would it have sense the opposite?
The same SERVICE_NAME can run in multiple instances with a RAC, and in a physical standby database, those services also exist.  In fact, you'd need them to be running in order for failover to work.

Service name from a uniqueness perspective only matters in terms of being unique within a particular listener's purview; it's how the listener routes connections.  What would happen if multiple unique databases served by the listener each registered the same service?  How would it choose between/among them?