Let's have a look to the current versus voltage of a real diode (1N4148):
The voltage varies almost linearly with the LOG of ID for ID < 10-30 mA (then series resistance dominates, and there is an almost linear relation). If you have 1mA there will be a drop of about 0.6V. This rises to about 0.8V@10mA. At 100mA, it's about 0.9V.
So a quick answer: no the forward voltage is not constant, but for small variations of the current, it can be considered constant.
In fact, in (manual) circuit analysis it's usual to replace, as a first-order approximation, a ON-state diode with a constant voltage generator, that has a 0.7-V value (or 0.35 for Schottky diodes, or 0.2 V for germanium diodes).
simulate this circuit – Schematic created using CircuitLab
But this is a really crude approximation. A much better approximation is to replace the ON-state diode, with the series of a voltage generator and a resistor. In some cases the source voltage is decreased (because there is already the resistor).
simulate this circuit
A much better approximation is given by the Shockley equation:
$$I=I_S(e^{\frac{V_D}{nV_T}}−1)$$
Still, this is an approximation as it does not take into account the Shockley-Hall-Read generation-recombination at low forward levels in the space charge regions, nor it takes into account the breakdown at high negative bias.
In any case, since \$V_T=\frac {KT}{q}\$, where T is the absolute temperature in Kelvin, the current also depends strongly on the temperature.
This is in fact confirmed on real diodes:
Finally, device-parameter dispersion will make the forward voltage of each diode slightly different from the other.