Regarding the why: When coding Mastodon, Eugen used those parts of the #ActivityPub and #ActivityStreams standards he found useful. For functionality that was not (yet) covered by those standards, he came up with his own solutions and made them part of the Mastodon API which can be considered a quasi-standard now.
When Mastodon was a one person shop, this was a pragmatic way to make progress fast. Standardization bodies are famous for moving slowly, and maybe Eugen was also put off by some of the more eccentric personalities in the ActivityPub community. Now that Mastodon (the organisation) has grown, they should assume a more active role in standards bodies. Perhaps they have – I have not followed these processes closely in recent years.
At any rate, I think it is fair to say that the Mastodon makers and the Fediverse standards community have had a difficult relationship. This is my impression from visiting FediCamp and FediDay events (where Mastodon makers were absent), and some reading in the ActivityPub community forum, e.g.:
https://socialhub.activitypub.rocks/t/mastodon-monoculture-problem/3189/11
https://socialhub.activitypub.rocks/t/discussion-mastodon-and-the-fediverse/1967

