Few of these things are as problematic as you seem to be suggesting.
Go go gadget Oxford English Dictionary.
Poisonous, adjective. (Of a substance or plant) causing or capable of causing death or illness if taken into the body. (Of an animal) producing poison as a means of attacking enemies or prey; venomous.
Waste can, in fact, be poisonous. Many kinds of waste are conducive to the spread of disease as well as being poisonous, but they are still quite poisonous on their own – that is, the chemical properties of the substance itself are damaging to health, irrespective of the presence of any disease-causing organisms. Bulbasaur and Bellsprout (and Oddish) are Poison-types because they, too, are poisonous, as many real plants are. If you eat them, you will get sick and possibly die. Zubat can happily use poison because most animals (and plants) are immune to their own poisons (incidentally, vampire bats are actually poisonous/venomous – their saliva stops blood from congealing in the same way as a mosquito’s bite; this is technically a venomous effect). Snakes, likewise, can pump an animal full of venom and then suffer no ill effects when they eat it afterwards.
Acid, on the other hand, is a problem. Many acids are in fact poisons as well, but it seems clear that the attack, Acid, causes damage by virtue of being an acid – that is, the substance your Pokémon is producing has corrosive properties because it is, chemically speaking, what’s called a ‘proton donor.’ Metals, generally speaking, do not like acids. Most metals, when exposed to a strong acid, will react to form salts. Salts, as the name might suggest, are very much less robust than metals. Unless they’re all plated with a very inert metal like gold, Steel-types should not like Acid any more than other Pokémon do.
Honestly, I think this is just because the designers didn’t think it through in this much detail. If it were up to me, I would say that Acid should be a Water attack with a chance to cause a burn, but unfortunately that’s what Scald does. I guess the only reasonable in-universe explanation is that Steel-types have all developed extremely high resistance to corrosion, maybe by including a very thin layer of something like chromium in their skins, which is why they don’t rust either.