É justamente isso que não faz sentido, porque o parametro random do shuffle() não é um seed, é a função que retorna o valor que será usado para cada item da lista.
O seed é usado uma vez para inicializar o rng, por isso chama-se semente.
O parametro random é um callable que retorna um numero aleatório que é usado como multiplicador do índice atual para gerar um índice aleatório onde o item será colocado, *para cada item*, não o mesmo repetido para todas.
São duas coisas completamente diferentes, e você está de fato confundindo.
O que você está fazendo nesse código que enviou no final das contas resume-se a uma aritmética simples, multiplicando o reverso do item de cada valor da lista por 0.72 e arredondando para baixo para escolher onde colocar. Você simplesmente não está usando o gerador de números aleatórios em lugar nenhum.
Você está fazendo isso, e note que não uso nada do módulo random em lugar nenhum...
>>> r = range(10)
>>> ij = [(i, int((i +1) * 0.72)) for i in reversed(range(1, 10))]
>>> for i, j in ij: r[i], r[j] = r[j], r[i]
...
>>> r
Resumindo, é possível fazer o que você quer, usar sempre o mesmo seed e repetir a sequência, mas não é o que você está fazendo.