Vi uma outra solução dada para esse problema aqui setando o "eps" para um valor maior. Uma outra solução, seria utilizar a base normalizada para treinar o algortimo (isso, na verdade, é o que gera discrepância entre os labels obtidos pelo instrutor e para quem segue a aula).
from sklearn.cluster import DBSCAN
agrupador = DBSCAN(eps = 1.31, min_samples = 15, metric = 'manhattan')
agrupador.fit(df_normalizado)
array([ 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, -1, 0, -1, 0, -1, 0, -1, 0, 0, 0, 0, -1,
0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, 1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, -1, -1, -1,
1, -1, -1, -1, -1, 1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1,
-1, 1, 1, -1, 1, 1, 1, -1, -1, -1, -1, -1, -1, -1, 1, 1, -1,
1, -1, -1, -1, -1, -1, 1, -1, -1, -1, -1, -1, 2, -1, 2, -1, 2,
-1, -1, 2, -1, -1, 2, -1, -1, 2, 2, -1, 2, 2, 2, -1, -1, -1,
2, -1, 2, 2, -1, -1, -1, 2, 2, 2, 2, 2, -1, 2, 2, 2, -1,
2, 2, 2, 2, 2, 2, 2, 2], dtype=int64)