That's correct, when you create a load balancer backend, you can add only 1 serverless NEG per region.
In fact, the meaning is the following:
When a request is routed to the backend, the backend forwards it to the closest location to the user.
That also means all region have the same services (the processing in the same), there is no difference between each region.
Get this example 2 services: 1 Hello, 1 goodbye. Deployed in US, and EU.
You are a US user, you request hello, the hello service un US answers the request. Similarly, a EU user requests goodbye, it's the goodbye service in EU that answers.
If you have services with different purposes, you can't add them in the same backend.
Imagine this deployment: 2 services: 1 hello in US, 1 goodbye in EU.
You are a US user, you request hello, the hello service un US answers the request. however, if you request goodbye, the backend route the request to the closest location and it's still hello service that answers.
It's not correct, and that's why it's not possible!
If you have different services in the same region, you can create
* either 1 serverless NEG per service and 1 backend per serverless NEG
* or 1 serverless NEG with URL map config to extract the service name from the URL and then route the traffic based on this naming convention.
Not sure to be clear, let me know.