There's no need to calculate the ADC range every time through the loop. There's no need for your software to calculate it at all... Just use 1023 or 1024. (I think 1024 is recommended but I don't remember why.)
You can use the optional 1.1V reference for about 1mV resolution, but that still might not be enough.
I don't know why you're getting 60mA. It might be a Proteus "quirk". I assume Proteus is simulating the hardware and software? I've never used it but I'm sort-of skeptical of software simulation.
You might want to print-out the raw ADC reading and the voltage reading.
And you can actually combine both equations (technically "expressions") in to one. There's no need to explicitly calculate voltage separately (although it can be helpful for debugging).