This subject causes me confusion too (as well as frustration). Below is my understanding, but take it with a grain of salt because I may be wrong about it. I think that it basically comes down to how correctly you want to define the term "Fermi level" (and to a lesser extent, if you're a physicist or engineer).
Short answer: for engineering (and most practical) purposes, the Hyperphysics figure is wrong even tho it's right.
The spacing between the donor levels and the conduction band minimum is typically very small (typically order 50 meV --- compared to a typical bandgap of order 1000 meV), and that plot shows that any amount of doping (even the eleven atoms in the figure!) will force the Fermi level to be just a hair below the conduction band minimum, which would sound nuts to an engineer.
Strictly speaking, the Fermi level is only defined at absolute zero. So, you could argue (correctly) that the Fermi level has to be above the donor levels since the donor levels are occupied at zero temperature. (It takes thermal energy to ionize the dopants.) However, most people care about their semiconductors around room temperature, and many engineers[*] say "Fermi level" when they really should say "chemical potential". So, in many device physics contexts, "Fermi level" really means "chemical potential around room temperature". If that isn't an abuse of terms, I don't know what is.
So, check out the following plot (stolen from here):
What the plot calls $E_F$ (which is really the chemical potential) starts above the donor level and then drops down below it as the temperature is increased. What many people refer to as the "Fermi Level" is really that value of that curve around 300 K.
What's the moral of the story? People who confuse/abuse the terms "Fermi level" and "chemical potential" cause unnecessary confusion (and by extension, are horrible people). You do the world a service any time you correct someone who abuses the term "Fermi level".
EDIT: I should add that some seem to draw a distinction between "Fermi energy" (defined only at zero temperature) and "Fermi level" (meaning chemical potential). I don't think that this distinction improves anything. Both "Fermi energy" and "Fermi level" are invariably denoted as $E_F$, and IMHO, should mean the same thing. After all, all the other Fermi quantities (Fermi velocity, Fermi wavevector, etc.) are defined at zero temperature, so making Fermi level an exception is still unnecessarily confusing. We should just use an existing term (chemical potential) to make things clear. Rant over.
[*] And yes, some physicists too.