Regarding volatility I agree that it's currently an issue, but not an insurmountable problem in my opinion:
1. Payment gateways can offer automatic asset conversion to minimize volatility risk for payment takers. This means I could pay in whichever cryptocurrency the payment gateway would take and the receiver would get whatever currency they have set up in their account. They might want to keep some currencies and convert others, so the payment gateway could offer an option to decide that, and in which amounts (e.g. "keep 10% of each BTC payment, convert the rest to USD").
2. Price volatility should reduce as a cryptocurrency is more widely used. In the alternate universe where BTC scaled to be larger than all credit card networks combined its price could be more stable than many fiat currencies.
[0] https://blog.vermorel.com/journal/2017/12/17/terabyte-blocks...
In my opinion there are two main issues that prevent crypocurrencies from being actually used as currency:
1. How many transactions per seconds can be handled 2. Their extremely high volatility compared to fiat currency
While blockchains can scale to fix point 1, point 2 is driven by forces outside the technology.