The real reason is that they have limited supply, and people want them. (people may not want bitcoin in the future btw) People always want gold and they want to gather as much as possible in their lifetime. It is the only solid asset which holds its true value through the centuries.
People have long thought of going to work and pouring gold to save as if it was saving their money. Now still so! But young people and many people want to save both money and make more money by buying bitcoin instead of buying gold.
I don't know. If you look at the daily gold sales volume, then you can find out that it is worth many hundreds of times the Bitcoin and other crypto-currency volumes. And gold derivatives market is really huge. And compare that with the BTC derivative market, which is almost nonexistent. It will take many years, if not decades for Bitcoin to overtake gold in trade volume.
I won't deny it but I also want you to focus on the time for which they both have existed. Bitcoin was invented in 2008 while gold has been used by human beings for time that we cant even trace back. Obviously, bitcoin is still in its infancy and we should give it some time to grow. This is too soon to decide its potential against gold.