Vemos as coisas de perspectivas diferentes e acho que os dois campos são identificados por:
Singular ("usuário")
A pessoa que faz uma correlação entre o nome da tabela e o fato de representar um contêiner, que pode conter várias linhas.
Portanto, o "contêiner do usuário" pode conter várias linhas.
Plural ("usuários")
A pessoa que não faz a correlação entre o nome da tabela e esse fato que representa um contêiner. É claro que eles sabem que é um contêiner, mas não existe no nome.
por exemplo,
uma "caixa de ovos" pode conter vários ovos, mas isso é óbvio, já que a referência do contêiner está no nome, fornecendo potencial para vários ovos. No entanto, com o nome da tabela singular "usuário", a referência do contêiner não existe no nome. por exemplo, "user_container" provavelmente seria aceitável para pessoas que preferem nomes plurais.
Eu acho que isso também se deve a anos de prática comum no plural e na maioria dos materiais de ensino on-line.
Tudo isso dito, acho que tecnicamente falando o singular é mais preciso, pois estamos nomeando um único contêiner, e os contêineres podem conter várias linhas (ou únicas).
Parece errado para as pessoas, pois elas vinculam mentalmente o nome da tabela ao conteúdo (várias linhas precisam de um nome plural) em vez de vincular mentalmente o contêiner nomeado ao conteúdo (um contêiner permite vários).
Como sempre, embora muitas vezes não haja o certo e o errado, é mais sobre o que se adequa ao cenário e, principalmente, ser consistente com o que você escolher.
Se você está realizando o projeto unicamente e não há motivo real para seguir o caminho, faça o que achar melhor, ou apenas preferência. Aplique o mesmo em uma equipe de desenvolvimento e apenas tome uma decisão unânime.