Place chicken, 5 cups water, and half of onion in a large Dutch oven over medium-high heat, and cook 15 to 18 minutes or until chicken is tender. Remove chicken, reserving broth in Dutch oven. Cut chicken into bite-size pieces; set aside.
Melt butter in a skillet; add celery and remaining onion, and sauté until tender.
Stir chicken, celery mixture, 2 cans beans, and next 6 ingredients into broth in Dutch oven, and bring to a boil. Reduce heat to medium-low, and cook 1 hour, stirring frequently, until thickened.
Process remaining 1 can beans in a blender until smooth, stopping to scrape down sides. Stir bean pureé into chili.
Remove and discard bay leaf; stir in cilantro just before serving with desired toppings.