If you want something like this :

(colors are random)
the code is :
dendogram =
DendrogramPlot[data, LeafLabels -> Range[12], HighlightLevel -> 3,
HighlightStyle -> {Red, Green, Blue}];
Show[
dendogram,
Graphics[(Cases[dendogram, Rectangle[___], {1, Infinity}] //
SortBy[#, -#[[2, 2]] &] & ) /.
x : Rectangle[___] :> {Hue[RandomReal[]], x}],
Graphics[Cases[dendogram, Line[___], {1, Infinity}]]
]
or like this :

(agglomerate colors, colors not random) then :
Needs["HierarchicalClustering`"]
data = {{0.758587, 0.844749}, {1.05549, 1.01289}, {1.21689,
1.1919}, {0.53086, 0.977943}, {2.08582, 1.8978}, {2.10121,
1.81776}, {1.88505, 1.83257}, {1.89067, 2.48317}, {2.88711,
1.02682}, {2.82199, 0.901863}, {2.90456, 0.91189}, {2.80032,
1.09192}};
dendogram =
DendrogramPlot[data, LeafLabels -> Range[12], HighlightLevel -> 3,
HighlightStyle -> {Red, Green, Blue}];
intervalList = Cases[dendogram, Rectangle[___], {1, Infinity}] //
(*Take[#,3]& //*)
(Interval[{#[[1, 1]], #[[2, 1]]}] & /@ # &) //
FixedPoint[
Replace[#, {a0___, i1_, a1___, i2_, a3___} /;
IntervalIntersection[i1, i2] =!= Interval[] :> {a0,
IntervalUnion[i1, i2], a1, a3}] &, #] &
ClearAll[color];
color[1] = Red; color[2] = Green;
color[3] = Blue; color[_] = Hue[RandomReal[]];
Show[
dendogram,
Graphics[
Cases[dendogram, Rectangle[___], {1, Infinity}] /.
x : Rectangle[___] :> {With[{pos = x[[1, 1]]},
color[
Position[intervalList, _?(IntervalMemberQ[#, pos] &)][[1,
1]]]], x}],
Graphics[Cases[dendogram, Line[___], {1, Infinity}]]
]