Heat olive oil in a large skillet over medium-high heat. Add garlic; saute until fragrant, about 2 minutes. Add shrimp, lemon zest, and lemon juice; saute until shrimp turn opaque, about 2 minutes.
Stir chicken broth, basmati rice, butter, and salt into the skillet. Reduce heat to low; simmer until rice absorbs broth, about 15 minutes. Add artichokes on top; simmer until heated through, about 5 minutes. Spread spinach and green onion over artichokes. Cook until spinach wilts, 3 to 5 minutes; fold into the rice mixture.