Vamos paso a paso. Concuerdo con francobonabello. Yo solamente quiero añadir lo siguiente:
Las dos versiones son correctas:
1. Quien venga será bienvenido.
2. Quienes vengan serán bienvenidos.
Habiendo dicho esto, si preguntas como traducir "Chi verrà sarà il benvenuto", lo más cercano sería la primera, pues "chi verrà" es singular, entonces usarías "quien venga". Yo acabo de comenzar a estudiar italiano, así que no soy experto, pero me imagino que "Quienes vengan serán bienvenidos" se parecería más a "quelli che verranno". Pero habrán algunos que opinarían que "Quelli che verranno" se traduce más precisamente con "Aquellos que vengan".
"Quien venga", "Quienes vengan", "Aquellos que vengan" <-- todas estas expresiones al final, vienen significando lo mismo, y pueden ser usadas.
Así que para los ejemplos restantes que escribiste, ambas formas son correctas:
¿Quién ha hecho la compra? / ¿Quiénes han hecho la compra?
Hay quien le gusta el chocolate, y quien no. / Hay quienes les gusta el chocolate negro, y quienes no.
Para terminar, "los que" no se usa con "quienes". Un ejemplo que se me ocurre donde si usarías "los que" sería la frase similar "Existen aquellos a los que les gusta el chocolate, y aquellos a los que no." En este caso sí usarías "los que" por usar "a".
Y hay que añadir que en español, el verbo "gustar" tiene al menos tres variaciones:
Me gusta el chocolate.
A mí me gusta el chocolate.
Gusto del chocolate.
Estas tres opciones quieren decir lo mismo, pero el uso es algo diferente. Puedes usar "gustar" como un verbo reflexivo y directamente decir el objeto que te gusta ("me gusta la primavera"), puedes decir "gustar" como un verbo reflexivo + la preposición "a" ( "A ella le gustan las flores.") y puedes usar "gustar" + "de", en este caso como un verbo normal, no reflexivo ( Ellos gustan de viajar por el mundo.)