Una de las cualidades de las expresiones regulares es que mantienen también normas lógicas, en algunos casos es conveniente especificar que secuencia de caracteres es permitida pero en otros escenarios conviene más permitir todo excepto ciertas secuencias, lo cual sería una negación.
Tu problema es mas sencillo de atacar si la expresión que pretende capturar el valor se entendiera como "cualquier cosa excepto comillas", ¿tiene más sentido o no?
Ahora, como lo planteas algunos valores no requieren comillas, si las comillas son opcionales, entonces debes hacerlas también opcionales en la expresión que captura los valores.
Para poder delimitar con mayor precisión necesitarías especificar que al final del patrón va seguido por el fin de la cadena o también el mismo patrón repitiéndose (el caso mas sencillo de obtener esto sería especificando mínimo la clave).
Y claro, especificar espacios de manera opcional y flexible donde se pueda dar la posibilidad.
Finalmente el patrón de la clave debe ser bastante sencillo, imagino que únicamente buscas capturar claves normalizadas, es decir secuencias alfanuméricas con guiones y nada más.
En suma el patrón debería quedar así:
Cita: /\b([\w-]+)\s*:\s*('?)([^']+?)\\2(?=\s*,\s*[\w-]+:|$)/