Multi-typing is not necessary, it can be an Application without a second type, or an object with a non-standard type but duck-typed as actor.
Anyway, there is a bigger problem. This FEP doesn't explain what "following" means if Follow.object is not an actor. ActivityPub spec says that Follow is used to subscribe to actor's activities, but what follower is supposed to receive from an object? Objects don't perform activities.
Regarding topic subscriptions, I already talked about my preferred solution in another thread. Now there is a formal proposal: https://codeberg.org/fediverse/fep/src/branch/main/fep/f06f/fep-f06f.md