Assembly code normally does mean the human readable form of a machine's native language (the so called machine language). Byte code on the other hand is normaly a language that can be interpreted by a byte code interpreter -- so it is not the processors native language.
Why the confusion then? You can't compare Assembly language versus Byte code this way. Of course a byte code can also have an assembly code -- meaning an human readable form of it, because "Assembly language" does not necessary mean that it is for a real machine -- but it is a human readable form of some native language -- for processors, this native language is the machine code -- but you also can have assembly code of a pseudo-(or interpreted) machine like Bytecode.
See also:
Assembly Language
Further distress comes of course -- like you can see in all the discussion here -- because IT people (also myself) tend to be lax in wording. "Assembly language" is often used when speaking about machine code. This of course is not totally correct, because Assembly Language is only the human readable form of some machines code.