In a stockpot, heat butter over medium-high heat. Add chicken in batches, skin side down. Cook until dark golden brown (about 4 minutes). Remove chicken from pot and set aside. Discard skin and drippings, reserving 2 ½ tablespoons of drippings in pot.
Add shallot to drippings and cook until tender (about 2 minutes). Add garlic and cook 1 minute longer.
Add saffron and broth, stirring and scraping pot to loosen up all dark bits left from chicken. Bring to a boil.
Transfer chicken back to pot. Add celery and carrots. Reduce heat and simmer covered until chicken is tender (about 25 minutes). Remove soup from heat.
Transfer chicken to a plate. Once cool enough, remove bones and shred chicken into bite-sized pieces.
Add shredded chicken back to soup, along with lemon juice and noodles. Adjust seasoning with salt and pepper to desired taste. Let noodles cook in hot broth for 30 seconds before serving.