In a large bowl, dissolve the yeast in the warm water. Let sit 2-3 minutes. Stir in the ⅔ cups sugar, salt, 3 egg yolks, 2 teaspoons vanilla extract and ⅔ cups milk. Stir well to combine.
Using a dough hook for the stand mixer (or a wooden spoon if mixing by hand), stir in the 3 and ¾ cups all-purpose flour until the mixture forms a smooth, semi-stiff ball. Turn the dough out onto a sheet of plastic wrap and form the dough into a flattened rectangle shape. Refrigerate at least 30 minutes.
Place the 3 sticks of butter into the zip top bag and use a rolling pin to gently pound and roll the butter into a flat sheet inside the plastic bag. Freeze until the dough had been chilled for 30 minutes.
When the dough is ready to roll, use scissors to cut the butter bag open, remove the butter sheet and cut the butter sheet into two even, flat pieces.
While the dough and butter are chilling, prepare the filling by blending all the ingredients (except the blueberries) in a large bowl until smooth and creamy. Set aside until ready to construct the Danish.
Working quickly roll the chilled dough out onto a lightly floured surface to form an approximate 14" x 9" rectangle. Place one of the butter sheets in the center of the dough and fold each side of the dough in towards the center, overlapping the butter sheet. Use the rolling pin to firmly roll the dough out into another approximate 14" x 9" rectangle. Complete the same steps with the second butter sheet as done with the first, placing the butter sheet in the middle of the dough, and overlap the sides of the butter sheet. Roll again, using pressure to flatten the dough as much as possible. Turn the dough occasionally and roll firmly to form into another approximate 14" x 9" rectangle. Trim the edges with a pizza cutter to form straight, neat edges. Discard scraps.
*Note - The process of rolling the butter sheets into the dough is important to form a light and flaky pastry. It's also helpful to brush any additional flour from the dough during the rolling process or problems with adhering the dough to itself may occur and rolling may be difficult.
Using the pizza cutter (or sharp knife), cut the dough into 9 equal pieces. Use your fingers to lightly press each dough square to increase its size slightly. Place about 1-2 tablespoons of the cream cheese filling in the center of each square. Gently fold the edges of the dough square up and slightly over the cream cheese filling and top with a handful of fresh blueberries, pressing them lightly into the filling.
Continue the same process with the remaining dough squares and the cream cheese filling. Place the formed Danish onto parchment lined baking sheets leaving 3" of space in between each Danish. Allow the Danish to rest at room temperature for 1 hour before baking.
Preheat oven to 350 degrees. Bake for 35-40 minutes in a preheated oven, or until they're crisp and golden. Remove from the oven and cool completely before icing.
In a small bowl, whisk together all the icing ingredients. *Note - If the icing is too thin, add a little more confectioners’ sugar. If it is too thick, add a drop more milk. Drizzle the icing over each Danish and serve at room temperature.