In a small saucepan, heat milk, 6 tablespoons of the butter and the granulated sugar in a small saucepan over medium heat until butter is almost melted and an instant read thermometer registers 110 degrees F to 115 degrees F.
Meanwhile, in a large mixing bowl, combine 2 cups of the flour, yeast, salt, cinnamon, ginger and cardamom. Add the warm milk mixture, eggs, sweet potato, orange peel and lemon peel. Beating with an electric mixer for 4 minutes. Use a wooden spoon to stir in raisins and enough of the remaining flour to make a soft dough.
Turn dough out onto a lightly floured surface, knead in enough of the remaining flour to make a moderately stiff dough that is smooth and elastic (6 to 8 minutes). Shape into a ball. Place in a lightly greased bowl, turning once to grease dough surface. Cover and let rise in a warm place until double in size (about 1 hour).
Punch dough down. Turn dough out onto a lightly floured surface. Divide in half. Cover; let rest 10 minutes. Divide one half into three equal portions. Shape each into a 10- to 12-inch rope. Place ropes, side by side, on a baking sheet lined with parchment paper. Braid ropes together, starting from the center. Pinch ends to seal. Repeat with remaining dough. Brush loaves with some of the remaining 1 tablespoon butter. Cover and let rise in a warm place until nearly double in size (40 to 60 minutes).
Bake loaves in a 375 degree F oven about 25 minutes or until golden brown and loaves sound hollow when lightly tapped. Brush with remaining butter; cool. In a small bowl, combine powdered sugar and enough orange juice to reach drizzling consistency. Drizzle over loaves. Makes 2 loaves (24 servings total).