There are various free as well as commercial macOS Git GUI apps available as listed on Git SCM webpage. The listed tools differ in their performance and feature set. The list is a living document with new apps getting added over time.
As you are looking for a macOS app with support for granular staging/unstaging support, I'll list one free and one paid tool each here which I use/have used personally. I too am a heavy user of SourceTree, but keep up with it's minor annoyances.
GitKraken is a free macOS Git GUI client. Although it's not a native app, but it comes with extensive set of features. Along with adding new features, the team behind the client is constantly working on improving overall performance with frequent releases. It supports Split View Staging. More details here:
Unstage files by selecting a staged file and hitting the Unstage File button that appears. If you click on a file to view the diff, you can selectively unstage lines or hunks.
2. Tower (Paid):
Tower is a paid macOS Git GUI client. It's a native macOS app with excellent UX and performance. It is quite popular among software developers. It supports Split View Staging. More details here:
One of the things that make Git such a great tool is the ability to craft granular commits. With Git's staging area, you can determine which changes exactly you want to have in the next commit. Tower takes this one step further by allowing you to determine the exact chunks and even lines you want to add:
Select a changed file in the Working Copy list. In the diff view on the right, you can then select the exact chunks & lines you want to add to the next commit.
I personally use SourceTree and Tower.
I'd recommend you to give the various tools mentioned on Git SCM webpage a try and choose as per your liking.
No affiliation whatsoever to any of the mentioned apps. I am on a constant pursuit to select and use the best tools available for the job at hand.