They are not blocking diodes although they also have that effect. They are there because each (asuming they are ordinary siilcon diodes) needs about 0.6V across it before it conducts. The idea is that if one LED alone needs say 1.5V to light it, one with a single diode in series will need (1.5 + 0.6) = 2.1V , the next with two diodes will need 2.7V and so on. There are two drawbacks to the circuit though, one is that the LEDS do not light at full brightness one by one, the first starts dim, then the second starts dim with the first brighter and so on, you get a gradual decrease in brightness as you move along the chain. The other drawback is you have to cater for the current in all the LEDs, by the time the final one (with lots of diodes in series with it) has reached reasonable brightness, the first one may be puffing out smoke. Unfortunately, you can't just use different value resistors because they would have effect at all voltages and setting the value so the first is bright at full voltage would mean it hardly lit at low voltage.
If a gradual lighting along the chain is acceptable the circuit is OK but to make each LED come on at full brightness as the voltage increases would need a comparator as described earlier.
Brian.