In a large heavy pot or Dutch oven, melt butter over medium high heat. Add onion and garlic, stirring and cooking until translucent. Add chicken broth, carrots, celery, thyme, bay leaves, ground ginger, and green onion. Bring to a boil. Boil uncovered 10 minutes. Reduce to a simmer. Cover and simmer 30 minutes.Combine egg yolks with lemon juice in a bowl. Using a hand-whisk, gently whisk in a large ladle-full of the hot soup into the egg mixture until fully incorporated. Slowly pour egg mixture back into the pot of soup, stirring constantly as you pour (this adds flavor and thickens the soup a bit.)Add lemon zest, mushrooms, cooked rice, shredded chicken, and kale or spinach leaves. Stir and cook just until heated through, about 5 minutes. Season with kosher salt and freshly ground black pepper. Serve warm, with fresh parmesan cheese, if desired.