Se todos os desenvolvedores tiverem acesso confirmado ao repositório, não será necessário fazer nada de especial. Eles puxam as mudanças do repositório, fazem suas próprias alterações, confirmam localmente e depois retornam ao repositório público quando têm algo funcionando.
Se, por outro lado, você tiver um (ou alguns) desenvolvedores responsáveis por se comprometer com o repo, e os outros estiverem fornecendo patches para eles. Faça com que cada um deles clone o repositório em suas próprias contas e envie solicitações de recebimento quando houver uma alteração desejada no repositório principal.
Também é possível criar clones específicos para trabalhar em recursos específicos, se desejar. Usando o mesmo fluxo de trabalho com solicitações pull para obter alterações no repositório principal quando o recurso estiver concluído.
Se por "Todos os desenvolvedores terão uma conta universal", você quer dizer que todos os desenvolvedores compartilharão uma conta do GitHub e aparecerão como o mesmo responsável pelo repo, isso é uma má idéia. Crie contas separadas e configure-as como colaboradores, se desejar que todas elas tenham acesso de confirmação.
Quanto às suas perguntas específicas:
Não, use branches para recursos, correções, etc, que levarão mais de um commit. Mais de um desenvolvedor pode estar trabalhando no mesmo ramo.
Sim, o git lida com conflitos muito bem, então não há problemas em ter pessoas trabalhando no mesmo arquivo. Sem problemas, exceto, a resolução de conflitos nem sempre pode ser trivial se houver alterações fundamentais em um arquivo que foi editado por mais de um membro. No entanto, isso não pode ser superado conversando juntos. O controle de versão não substitui a comunicação.
Boa sorte!