In the mixing bowl of a stand mixer, combine the warm milk, orange juice, yeast, sugar, salt, butter, and eggs.
Add in the flour and using a dough hook attachment, mix at low speed.
When the flour begins to incorporate into the mixture, increase the mixer speed to medium. Add flour as needed, until the dough begins to pull away from the side of the bowl. The dough should be tacky, but not stick to your hands. Add more or less flour until the dough achieves the desired consistency.
Place the dough in a lightly greased bowl, and cover with a towel. Allow the dough to rise until it doubles in size. (Approximately 1 hour.)
Place the dough on a clean surface and roll into a rectangle that is approximately 12 inches by 18 inches.
Combine the filling ingredients (butter, sugar, and orange zest) in a small mixing bowl. Spread the mixture evenly over the dough, leaving 1/2 inch uncoated along the top edge.
Roll the dough tightly lengthwise to create one long roll. Cut the roll into 12 equal pieces using a shar serrated knife.
Place the rolls into a lightly greased 9x13 pan, cover, and allow to rise 30 to 45 minutes.
Bake the rolls at 350 °F for 20 to 25 minutes, until they just begin to brown on top. While baking, make the icing glaze.
Combine cream cheese and butter in a bowl and mix with a hand mixer until light and fluffy. Whip in the powdered sugar and orange extract (optional). Whip in orange juice until the mixture is soft and easy to spread.
Rolls should be frosted while warm.