A fitted model has already used the training labels. Measuring it on those same rows tells you how well it can reproduce familiar observations, not how well it will handle new ones. A test partition provides rows that remain outside fitting. Split the inputs and labels together so each feature row keeps its original outcome.
A fixed random_state makes an exercise repeatable. It does not make one split universally representative. Stratification preserves class proportions approximately and helps avoid a rare label disappearing from a small partition. Keep every row in exactly one partition, and use the requested split size. The exercises deliberately reject overlapping partitions and separately shuffled labels. Later lessons revisit why time and repeated customers can require a different splitting strategy.