Respostas:
Sim, e também é chamado foldem muitas outras linguagens de programação e em matemática. Ruby usa muitos apelidos para ser intuitivo para programadores com experiências diferentes. Se quiser usar #lengthem um Array, você pode. Se você quiser usar #size, tudo bem!
injectpara que os usuários não tenham que ler os dois descrição e tente descobrir se eles são iguais ... isso não vai com o princípio DRY?
Versões mais recentes da documentação do Enumerable#reduceespecificam explicitamente:
Os métodos
injectereducesão aliases. Não há benefício de desempenho para nenhum dos dois.
&:+), reduza, se for um bloco, injete