There are a lot of different types in the ActivityStreams Vocabulary.
https://www.w3.org/TR/activitystreams-vocabulary/
But because Mastodon only supports 8 of them (with only 2 of them being supported properly), there is "pressure" on other Fediverse software to restrict themselves to these 8.
https://docs.joinmastodon.org/spec/activitypub/#payloads
Because they want to be compatible with Mastodon.