Is a universal assembly language for all computers possible?
Assembly language is a way to write instructions for the computer's instruction set, in a way that's slightly more understandable to human programmers.

Different architectures have different instruction sets: the set of allowed instructions is different on each architecture.  Therefore, you can't hope to have a write-once-run-everywhere assembly program.  For instance, the set of instructions supported by x86 processors looks very different from the set of instructions supported by ARM processors.  If you wrote an assembly program for an x86 processor, it'd have lots of instructions that are not supported on the ARM processor, and vice versa.

The core reason to use assembly language is that it allows very low-level control over your program, and to take advantage of all of the instructions of the processor: by customizing the program to take advantage of features that are unique to the particular processor it will run on, sometimes you can speed up the program.  The write-once-run-everywhere philosophy is fundamentally at odds with that.