I've just spent several hours trying to work out why CloudFlare persistently displays "There are no repositories on this GitHub account to connect to." on a clients CloudFlare account who has full Admin access to my private repository.
The problem here is that the clients account doesn't own the repository and CloudFlare pages adds an API application to their account, as they don't own the repo - it can't bind to the account that it needs to (mine).
To resolve this, it's literally as simple as forking the repository to their account and instructing them to keep it up to date by merging changes.
I hope this may help somebody out, as I wasn't receiving any relevant answers on Google even though I'd imagine I'm not the hundredth person to sit around trying to work this out.