In one of the Japanese classes I attended, I've been taught that while we use 「何も出来ない」to say "He cannot do anything", to say "He can do anything" we use 「何でも出来る」 instead of 「何も出来る」.
Why is there a grammar rule that says 「何も」 is used before negative predicate while 「何でも」 is used before positive predicate? Why do we need additional で particle for the positive predicate?
Is the rule still being followed, and are there any exceptions (something like exceptions to the 全然+negative rule)?