You are quite correct, unfortunately.
The word "virus" originally only referred to parasitic code snippets that reproduced by attaching (usually prepending) themselves to existing executables. In those days, "sneaker net" was the most common way of transferring files, often games and other software, so viruses were by far the most common form of malware. Trojans were easily identified due to the relatively low volume traded software and worms can't readily propagate through offline storage. So nearly all malware seen by the average person was delivered via infectious code snippets on floppy disks. So terms like "anti-virus" sprung up to deal with this threat, and those tools frequently could identify and remove the malicious code segment, and "disinfect" the "infected" file, solidifying these concepts in the public consciousness.
Once the Internet sprung up, worms could now get wider distribution, and trading pirated software peer-to-peer became a lot less common -- people downloaded files from more centralized repositories. This change in behavior made trojans (which are LOT easier to write) a much more effective way of spreading malware.
But the name "anti-virus" stuck, as did the general imagery of equating a "virus" with the concept of a computer being sick, which means that that people started to say "my computer caught a virus" rather than saying "my program got infected".
Sp now instead of thinking of the host of a virus as being an infected executable, the general terminology is to think of host as being the computer as a whole. This makes a lot less sense as far as the metaphor is concerned. The whole point of calling it a virus initially was the fact that it reproduced by attaching itself to other programs.
But language evolves, and even though calling generally infectious malware a "virus" would have been incorrect in the early 90's, doing so today is arguably, now, correct. Not because the meaning is any different, but rather because enough people today misuse the term as to make it widely acceptable. And language is about communication, so if everybody thinks that "virus" is the correct general term for malware, then it is.