Many have good reasons and the main one is that many of the storefronts that appeared through the early 2010s weren't good, like origin (and later ea put their games back on steam anyways), others like gog or humble bundle found niches and remain till today, while some like desura (they sold indie games and had their own steam like client at one point) went under.
Like it or not, Steam has been going since 2003, it is reliable and has many useful features which many of the new clients launch without (to which people cry STEAM DIDNT LAUNCH WITH THOSE EITHEE, to which I say yes but if you are gonna compete with it your product needs to match some of those newer features). People trust valve, if they buy a game from steam then 5 years from now steam and its servers will keep existing, meanwhile you don't know if whatever new storefront which sells only games from that company and is only a thing due to shareholder or the ceo whims will still exist 5 years down the line. And even if your game is still playable, the servers which relied on the storefront's framework might now (remember GFWL?)
Or maybe they don't want to install another launcher for the tenth time.
Personally I got a bad first impression from battlenet because of the overwatch open beta, there was some crap happening (I think permissions) that wouldn't let me launch the game, many people were having that same issue and if this is on your open beta, which is many people's first experience with the game and a deciding factor if they buy it or not then it is not gonna be a positive one.
I may have had technical issues with OW one more time after that, but not with any of the other blizzard games I owned/tried.
I'll give actiblizz props for adding other games to their launcher (CoD, sekiro) so it is not just one exclusively for blizzard games.
I also think people love to shit on valve and its fans too much simply because valve are beloved. Believe me, I have/had my issues with valve and some questionable choices they made, but I feel a lot of the hate is misdirected.