Wash zucchini. Cut off stem ends, then cut into large pieces. Place in a saucepan. Add water and a pinch of salt. Bring to a boil. Cover and cook until tender, about 20 minutes. Cool zucchini in cooking liquid.
Place zucchini, 1 cup cooking liquid and 2 Tablespoons cilantro in a blender; process until pureed.
Heat butter in a medium saucepan. Add onion. Cook until tender but not browned. Stir in flour. Cook 1 minute. Add pureed zucchini mixture, evaporated milk and chicken broth. Stir to blend. Season with salt if needed. Stir over medium heat until soup comes to a boil.
Serve at once or chill and serve cold. Garnish each serving with a few whole cilantro leaves.