> I was also confused why commit and push are different steps
I think most people think about file access in the word processor terms, like you mentioned. You "edit," "save," "upload," and "download." Actions like that.
Then they have to use git for the first time and the terms/actions are really foreign. It's likely made worse if they have experience with auto-syncing file software, since that software does the whole remote management process for them.