Is there a list of core Bitcoin committers? Where can I find a list of people that can commit directly to the github project?
Here is a list of people who have had commit access to Bitcoin Core. This list can also be found on Bitcointalk and on Reddit (it's the same list just in two different places). All lists are kept up to date and in sync.
This list contains the names and usernames of everyone who I can find evidence for ever having commit access to Bitcoin Core, the dates during which they had commit access, sources for all of this information, and reasoning for the access. Those who currently have commit access are in bold.

Satoshi Nakamoto (satoshi, s_nakamoto): 1/3/09 - 9/13/11^[1] Creator, first Lead Maintainer
Martii Malmi (Sirius, sirius_m): 8/30/09 - 9/13/11^[1][2]    Creator of first SVN repo
Laszlo (laszloh) 8/4/10 - 9/13/11^[1]    Original OSX Builds and support
Gavin Andresen (gavinandresen): 10/11/10 - 5/2/16^[3]    Frequent contributor; later Lead Maintainer
Chris Moore (dooglus): 1/21/11 - 3/31/11    Frequent contributor for some time; Still contributes occasionally
Pieter Wuille (sipa): 5/1/11 - present    Frequent contributor
Jeff Garzik (jgarzik): 5/6/11 - July/Aug 2016^[4]   Frequent Contributor
Wladimir J, van der Laan (laanwj, wumpus): 6/5/11 - present^[5]    Frequent contributor; later Lead Maintainer
Nils Schneider (tcatm): 9/19/11 - 5/31/12    Frequent contributor for some time
Greg Maxwell (gmaxwell): 2/11/12 - 12/17/15    Frequent contributor; Gave up commit access due to toxicity and drama from the community
Jonas Schnelli (jonasschnelli): 11/13/15 - present^[6]    Frequent contributor; given access after becoming GUI Maintainer
Marco Falke (MarcoFalke): 4/13/16 - present^[7]    Frequent Contributor; given access after becoming QA/Testing Maintainer
Samuel Dobson (MeshCollider): 12/6/18 - present^[8]    Frequent Contributor: given access after volunteering to be the Wallet Maintainer
Michael Ford (fanquake): 6/8/19 - present^[9]    Frequent Contributor; given access after being nominated by several other frequent contributors and maintainers to become a maintainer.

Footnotes:

[1] The move to Github occurred before the last SourceForge commit, but the last SourceForge commit declares sourceforge as dead. Presumably those who only committed to SourceForge no longer had commit access after the move
[2] Sirius was the one who created the original SVN repo on SourceForge.
[3] gavinandresen was the Lead Maintainer from 2/23/11 until 4/7/14
[4] I was informed via IRC PM by some of the Core devs that jgarzik was removed around August 2016 after he had been inactive for several months.
[5] laanwj is the current Lead Maintainer. After participating in that role for a long time, he was officially given the position by gavinandresen on 4/7/14
[6] jonasschnelli is currently the GUI Maintainer. After participating in that role for a long time, he was officially given the position by laanwj on 11/13/15
[7] MarcoFalke is currently the QA/Testing Maintainer. After participating in that role for a long time, he was officially given the position by laanwj on 4/13/16
[8] MeshCollider is currently the Wallet Maintainer. He had been contributing for a while, particularly to wallet related things. When laanwj asked if anyone would like to be the role of Wallet Maintainer, MeshCollider volunteered.
[9] fanquake is currently the Build System Maintainer as well as a general maintainer. He had been contributing for a while, particularly with updating dependency versions and build system related things. He also had been doing a lot of janitorial things in the repo such as tagging issues, closing old issues and PRs, nominating things to be merged, etc. At the CoreDev event in Amsterdam which several maintainers and contributors attended, he was nominated to be a maintainer by the entire group.

Other Notes:

Dates are Month/Day/year
There may be people missing and dates may be slightly incorrect. These are all that I can determine by looking at old emails and the commit history. Please let me know if anything is incorrect
The start date is determined by the first merge commit made by that person. The end date is determined by the date of the last merge commit made by that person or other announcements of commit access revocation.


After scrolling through nearly the entire git merges history, I have found a couple of interesting things.
Satoshi did not use a Version Control System originally. The releases and source code were originally in a rar file that was uploaded to bitcoin.org. Sirius had to setup the original SVN repository on SourceForge for him. This was then later migrated to GitHub by gavinandresen. Originally patches were authored by developers and then emailed to Satoshi, Sirius, or gavinandresen who then committed the changes to the source tree with the commit message containing the attribution, but not the actual commit itself.
Another interesting fact is that the giving out of commit access has become more strict. It is now a privilege held by those given maintainer positions and those whose privilege was grandfathered in (i.e. they had it previously and kept it). Previously it was simply given out to those who contributed frequently and revoked after they stopped contributing. This appears to be no longer the case, although there are still multiple people who can commit to the repository so that there is not any reliance on one person. The maintainers are still given to frequent contributors as the maintainers are frequent contributors to the set of functionality for which they are maintainers of. They received the positions because of frequent contributions to those functionalities.
Lastly, I could not find any evidence for Satoshi ever publicly announcing that gavinandresen was to be the Lead Maintainer after him. It seems that Gavin was already a frequent contributor and already had commit access for a while before Satoshi disappeared. After Satoshi disappeared and Sirius stopped contributing as much, gavinandresen simply took over the role as lead maintainer as he was the only frequent contributor with commit access.