LEDs are not ideal diodes, so the "turn on" point (Vf) is not a perfectly sharp transition. 
If we look at the I-V curve for a typical LED, we can see this:

![LED I-V Curves][1]

The Vf is often taken at e.g. 20mA (some datasheets will give a couple of Vfs at different currents)  

From this we can see that it's hard to control an LED by altering the voltage across it, so for the best control a constant current driver is needed. You can buy lots of ICs dedicated to this task, or you can roll your own simple source.   
With a constant current driver, if the LEDs Vf varies (process, temperature, etc) then the driver compensates to keep the current constant, so this is the way to do things if you want the current to be exact irrespective of part variability (note the brightness at XmA may be different though, as this varies too)    

 

  [1]: https://i.sstatic.net/l9oPF.gif