Thanks for getting back to me, the issue was that I needed to register the population constructor in the toolbox again with the updated population size on each loop. Thanks for your help and the final code snippet is posted below for reference.
offspring = list(filter(valid,offspring))
while len(offspring)<originalPopsize:
popsize = originalPopsize-len(offspring)
toolbox.register("population", tools.initRepeat, list, toolbox.individual, n=popsize)
newpop = toolbox.population()
[offspring.append(item) for item in newpop]
offspring = list(filter(valid,offspring))