The distinction of "legal tender" is that (1) the state expects payment in the domestic currency and (2) when there is a dispute in court, any fines or financial penalties will have to be paid in the domestic currency.
This does mean that if you enter a contract which states that some payment has to be made in a foreign currency, a court can overrule this and force the payment to be made in the domestic currency instead. That basically never happens in practice, but it is possible.
As to why governments don't forbid Bitcoin & friends: in the larger economy, they just don't matter, so why bother? Now the ICO craze has caught attention because of securities fraud, and governments have stepped in.