The proof seems to be fine at first glance.
Let's take k=2 and try to prove the above result for k=3 using induction hypothesis(IH).
IH says any set of two horses have the same color. i.e say, {H1, H2} are of same color.
Now replace H1 by H3. Again, using IH, {H2, H3} are of the same color as it is a set of two horses.
so above results says- {H1, H2} are of same color and {H2, H3} are of same color which implies {H1, H2, H3} are of the same color as H2 is common in both the sets.
So we have successfully proved for k=3. and you can use a similar argument for k=4,5,6...... so on.
Base case shows that the proof is true for k=1. We proved above for k=3,4,5..... Now the only thing remaining is to show that proof works for k=2.
The flaw here is for the case k=2,
Using IH, set of one horse say {H1} has the same color.which is trivial as the set contain only one horse.
Similarly, set {H2} has all the horses of the same color. again trivial.Only one horse in a set.
Does it mean that set {H1, H2} are of the same color?? NO!!!! Say H1 is of green color and H2 is of blue. (Though I haven't seen green or blue horses anywhere yet).
Clearly {H1,H2} DO NOT have same color. So, we fail to prove the case for k=2, Which was the error.