As far as I know, the numbers were assigned independently by each port's developers in the 90s as they added calls in their own order. Then it became a frozen ABI nobody could ever renumber, and couldn't have been identical anyway since arches need different syscall variants for things like 32bit vs 64bit types
There are also a couple of syscalls which are truly architecture-specific - like iopl(), which is x86-only. (It controls access to the IN/OUT instructions, so it's not applicable anywhere else.)