does a money really have to have non-monetary value, and if so, why?
It does, because otherwise it’s price, say $17 per bitcoin, is basically a fad. Meaning that’s what people are willing to pay now, but there is no guarentee they will be willing to pay that tomorrow, because there is no reason for that price. Why is the price $17, and not $10, or ten cents?
People sense this, and at some point will start to worry. They will want to unload their bitcoin for something substantial. They will refuse to accept it as payment. Sooner or later, everyone will lose faith in the other person being foolish enough to accept a bit coin in exchange for $17 worth of hard work and tangible goods. They themselves will also not be willing to accept a gamble in exchange for their hard work. The downward spiral will begin.
This insight is related to Mises regression theorem.
http://smilingdavesblog.blogspot.com/2011/06/bitcoin-takes-beating.html and
http://smilingdavesblog.blogspot.com/2011/06/bitcoin-and-bitclothing.html
and the comments there lay it all out.