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.