Fix Constrained beam search duplication and weird output issue (#17814)
* fix(ConstrainedBeamSearchScorer.step_sentence_constraint): avoid hypothesis duplication between topk and advance
* fix(GenerationMixin.constrained_beam_search): appropriately assign beam scores instead of token scores