Waterfiends are a good option - according to an online guide, about 76% of them drop crimson charms.
In any case, if you want charms, I would suggest that:
(1) You do slayer tasks, that way you train Slaying as well. Most slayer monsters drop some sort of charm.
(2) If you still don't get enough charms (that is, you have 99 Slayer but didn't achieve 99 Summoning yet; or you have the impression that your Summoning level is way behind your Slaying level), kill Bork once a day, to get some extra charms. Ideally, you should do all the Varrock Tasks (all four levels, including Elite); that way, Bork will drop almost twice as many charms.
all monsters drop goodies except normal rats and spiders
There is a site called Runehq it has everything about Runescape even what monsters drop check it out. : -)
Monsters drop them. As a general rule, higher level monsters drop better things.
hill giants and hobgoblins drop them sometimes
Monsters in the god wars dungeon drop them. They're really hard to beat though.
hellhounds drop 100% bones. they also drop charms,gold,green,crimson, and blue. and clue scrolls
No, but only certain NPC's, monsters will drop them.
Killing druids in taverly dungeon is probably the best place to get any herbs, they drop more that most monsters do.
When I trained range on fire giants i got like 100 blue charms or more their not likely to appear though that's just one of the monsters that drop them try going to a runescape help site and type in monsters that do drop blue charms.
You have to fight certain monsters in the Stronghold in the Barbarian village until they drop the pieces... there's a piece on every floor of it, and only certain monsters drop them...
I do not know the complete list however, I do know that these monsters do drop law runes: barbarians dark wizards wizards cockroach soldiers
Dust Devil and Kalphite Queen members only.