I agree that certainly is a good reason for keeping the second S in -less, but why do we drop the second L in -ful?

The question is up there with why we need the two words, less and fewer for one end of the count/measure inequality but the one more works just fine for the other end?