So I found an old project that is GPL2, not hosted on Github. I fixed bugs in it, and want to post on Github. Can I distribute it under GPL3? In other words, is GPL3 a GPL2 with additional restrictions?
No, the GPLv2 is incompatible with the GPLv3. The FSF says of v2 and v3 compatibility:
Please note that GPLv2 is, by itself, not compatible with GPLv3. However, most software released under GPLv2 allows you to use the terms of later versions of the GPL as well. When this is the case, you can use the code under GPLv3 to make the desired combination.
If the GPLv2 code says "or any later version" then you may distribute your modified work entirely under the GPLv3. Otherwise, you must stick with the GPLv2. (You could technically release your changes under any GPLv2-compatible license, in order to release the whole work under the terms of the GPLv2.)