See https://help.github.com/articles/duplicating-a-repository
Short version:
In order to make an exact duplicate, you need to perform both a bare-clone and a mirror-push:
mkdir foo; cd foo
# move to a scratch dir
git clone --bare https://github.com/exampleuser/old-repository.git
# Make a bare clone of the repository
cd old-repository.git
git push --mirror https://github.com/exampleuser/new-repository.git
# Mirror-push to the new repository
cd ..
rm -rf old-repository.git
# Remove our temporary local repository
NOTE: the above will work fine with any remote git repo, the instructions are not specific to github
The above creates a new remote copy of the repo. Then clone it down to your working machine.