Behaviour in numpy is as expected:
  n_sizes = [10,20,30,40]

    for i in np.arange(len(n_sizes)):
        
           n_train = n_sizes[i]
           np.random.seed(4321)
           print(np.random.normal(size=n_train))

[-0.76652152  0.96119469  1.45634699 -0.52979269 -0.26476741 -0.57217131
 -0.75111347  2.22821657  0.65734057 -1.13237756]
[-0.76652152  0.96119469  1.45634699 -0.52979269 -0.26476741 -0.57217131
 -0.75111347  2.22821657  0.65734057 -1.13237756  0.3301812   0.1310132
  0.80145179 -1.46271304 -1.41138966 -1.6531237  -0.14342971  0.51649005
  1.28008742 -1.2251386 ]
[-0.76652152  0.96119469  1.45634699 -0.52979269 -0.26476741 -0.57217131
 -0.75111347  2.22821657  0.65734057 -1.13237756  0.3301812   0.1310132
  0.80145179 -1.46271304 -1.41138966 -1.6531237  -0.14342971  0.51649005
  1.28008742 -1.2251386  -0.77911324 -0.12907887  0.55540811  0.41840177
  0.3293098   1.140024   -0.00801868  0.76995465 -1.35304484 -0.65235036]
[-0.76652152  0.96119469  1.45634699 -0.52979269 -0.26476741 -0.57217131
 -0.75111347  2.22821657  0.65734057 -1.13237756  0.3301812   0.1310132
  0.80145179 -1.46271304 -1.41138966 -1.6531237  -0.14342971  0.51649005
  1.28008742 -1.2251386  -0.77911324 -0.12907887  0.55540811  0.41840177
  0.3293098   1.140024   -0.00801868  0.76995465 -1.35304484 -0.65235036
 -1.65033614  0.98659412  1.74636899 -0.29749675  0.36506456 -1.4723392
  0.53323632 -1.62450975 -1.35767072 -0.76749929]

I dont see why the trail for size 10 should be different to the trail for size 20 (with 10 new ones tacked on to the bottom)  when the seed is being reset everytime.