I'm not sure what you consider "expensive", but prices have come way down. There were 8GB RX 580s for $179 on Black Friday, and you still see them that low on occasion.
And if you want to go cheaper still, there are a ton of used mining cards now flooding eBay.
As for why retail prices aren't "buy one get three free", both NVIDIA and AMD have tapered back production of new GPUs (sans Turing) so that they don't obliterate the market. AMD made that mistake with the 300 series a few years back and it sent them right into the red. So both are going to let the flood of used cards sort themselves out, and then ramp up GPU production as necessary to meet sustained demand.