morrowinder, do you know what a buffer overflow virus is? Any of the ones you listed can be implemented as a buffer overflow as its mechanism to enter the machine. It is the most common method for transmitting a virus, it says nothing about whether it is a trojan, worm or macro virus.
The way an overflow works is that executable code is written to a code area by creating a data segment that overlaps the code segment (CS). Then it is run using the CS instead (can simply be a long jump).
You are confusing the delivery mechanism with the contents.