I think one of the biggest reasons is that the Fediverse is often a pain to get into and sometimes a pain to use.
Bluesky and Threads "just work."
Some people say it's marketing and in Threads' case I can believe it, but I haven't seen any example of large marketing campaign by Bluesky.
That's inaccurate and reductive. ATproto and ActivityPub do not federate the same way, and how they work greatly affects how users interact with the entire ecosystem.
On Mastodon, pick the wrong instance and there's content you'll never see, migration isn't complete, discovery is so bad they started a new initiative to try fixing it, instances have their own cultures, and so on.
Bluesky has issues, some I'd consider critical, but they're not directly user-facing for the most part. Make an account, you get the same experience as everyone else.
edit: Sorry, I have this issue where I try to be concise, yet feel like I end up being rude. I get your confusion, but they're quite different. Hopefully this helped; I can elaborate if you want.