It's different for every business but typically a CEO is the visionary, strategic leader of the company while the president leads the day-to-day operations.
If Github started selling insurance, there's a good chance they would have a president for Github Code and a president for Github Insurance. They wouldn't have two CEO's, though.