There is a grammatical error in: "forty little demons ... who are."
You could argue that since "demons" are not human beings but rather supernatural, evil spirits or entities (often meddling with humans' lives), they should not be referred to using the pronoun "who," but with "which."
However, it is understandable thanks to the context that the author is talking about human children here. Using the pronoun "which" to refer to them, although it would be grammatically correct, would sound very harsh because dehumanizing.