I definitely agree with how BTCPay is better in every way and combats gateway centralization, but there are some factors to take into consideration;
# you need a server of yourself to run it or use something like azure, and it requires some level of technical understanding.
# you have to store your coins yourself, and you have to convert your coins to fiat yourself as merchant, which increases the risk of losing value in the process.
A bit of API programming (with the merchant's exchange) deals with the custody aspect, and alot of webshops include a web programmer as a part of the team these days anyway (alot of former web programmers open web based commerce sites as they know they can outcompete businesses without in-house web programmers)
And think of it another way; it's only very independent minded web-store owners that are likely to commit to BTC long-term anyhow. The convergence of that characteristic with people that could and would do the necessary work to use BTC pay is probably pretty high.