Do all players need to have Xbox Live accounts to do split screen play?

No, you do not.

Only a host player needs an Xbox Live account, and other one to three players can join the game as guests.

In this case, the game process including gear and rank will be the same as a host player. Scores and items will not be saved for guests.

When there are several players with Xbox Live accounts among the participants, they can sign in with their own profiles. The progress date will be saved in each account.
Xbox Live Gold Membership is required for Multiplayer Mode, and each player must be members of Xbox Live Gold Membership.