It looks from this like several million will be the correct figure.
I heard that only about 3 million bitcoin addresses are used. I would say that the number of addresses > number of users.
Myself, I have used dozens of addresses, and don't consider to be a heavy user of addresses.
I use at least 100 addresses per year, and i don't consider myself a heavy user. Just imagine how many addresses do Bitcoin businesses use.
Another thing that speaks against the millions-of-users hypothesis is bitcoin price. The market cap is $10 billion. Most of the users have bought in before this month. Even if their average investment is only $1000, this means that number of users is only
2 million. But many have bought last year or so, making their stash worth much more than $1000, even after heavy selling.
With 20 mils transactions in the blockchain I find it hard to believe.