Bring a large pot of lightly salted water to a boil. Cook orzo in the boiling water until partially cooked through but not yet soft, about 5 minutes; drain and rinse with cold water until cooled completely.
Heat olive oil in a large pot over medium heat. Cook and stir carrots, celery, and onion in hot oil until the vegetables begin to soften and the onion becomes translucent, 5 to 7 minutes. Add garlic; cook and stir until fragrant, about 1 minute more. Season mixture with thyme, oregano, salt, black pepper, and bay leaf; continue cooking another 30 seconds before pouring chicken broth into the pot.
Bring the broth to a boil. Partially cover the pot, reduce heat to medium-low, and simmer until the vegetables are just tender, about 10 minutes.
Stir orzo, lemon juice, and lemon zest into the broth; add chicken. Cook until the chicken and orzo are heated through, about 5 minutes. Add baby spinach; cook until the spinach wilts into the broth and the orzo is tender, 2 to 3 minutes. Ladle soup into bowls; garnish with lemon slices and Parmesan cheese.