Essencialmente é para compatibilidade de código entre a versão 2.7 e 3.xx.
Pense que todo código produzido na versão 2.7 do Python que não tinha o parâmetro "version", com isso seed gera um determinado padrão de aleatoriedade, mas esse padrão possui um "limite" e começa a se repetir.
Quando esse código implementado na versão 2.7 for migrado para 3.7, o padrão será alterado pois agora temos o parâmetro "version", com isso seed possui um limite maior que antes de começar a se repetir. Isso teoricamente é bom para nos programadores.
Mas veja o problema que aparece com isso, o código que utiliza seed vai apresentar comportamento diferente para quem executar na versão 2.7 e 3.7 do Python, isso é um problema quando estamos homologando uma implementação de software. Para resolver isso temos o parâmetro version, quando você precisar do comportamento existente na versão 2.7 do Python você precisa implementar version=1, quando você quiser o comportamento da versão 3.7 você não precisa informar o parâmetro ou então passar o valor 2(version=2).