Preheat grill on medium-high heat. Grill corn and chiles until chiles are charred (about 5 minutes) and corn is tender (about 10 minutes), flipping occasionally. Place chiles in a bowl, and place a plate on top (the steam will help their skins come off). When cool enough to handle, peel and discard the chile skins, and cut the corn off of the cobs. Chop the chiles.
Meanwhile, heat butter in a large saucepan over medium heat. Add onion and celery, and cook until tender but not browned. Add garlic and cook another minute. Stir in flour and cook a minute more, then gradually whisk in milk. Season with salt and pepper. Bring to a boil, then reduce to a simmer. Add potato, corn and chiles; cook, stirring occasionally, until potato is tender.
Transfer 2 cups of the soup to a blender and carefully blend until smooth. Return pureed soup to the pot and stir in parsley. Taste and add more salt if needed. Serve topped with green onion or chives.