It's the same. 01, 001 or even 0001 all mean 1. The 0 before 1 only tells there's space for numbers up to 99. Should there be a dot between the numbers it would make a lot of difference.
Your confusion can be understood if you read the digits after the dot as decimals. In version numbering it's not so, they are dividers. Thus 3.1 doesn't mean 3 full and 1/10. The dot is there just to separate columns. It could as well be some other mark, but for some reason the dot was chosen a very long time ago.
Program numbering goes as follows: <version number>.<subversion number>.<sub-subversion number>.<etc> where the first column indicates a major change from the previous version, 0 meaning Beta or Alpha. The second column tells about big improvements, the subsequent ones about lesser fixes and patches. Every program has their own criteria for the number of columns.
It could as well read Version 3.1.0 and still mean the same.
You may have read scientific studies and such where the chapters are numbered in a similar manner. The idea is pretty much the same.