Umbreon Trick??
I had two 100% Eevee's and desperately wanted one of them to be an Umbreon. After walking both of them for 12km. I evolved them and got a Jolteon and a Flareon. I don't get why they didn't turn into an Umbreon? They need to be walked for 10km (I did 12km), they need to be set as my current buddy (they were), and I needed to evolve it at night (I did).
Answers
I have seen reports that GPS fail at the time of evolve can have an effect - but that is just reading what others report and not personal experience.
.
The report I saw on TSR spoke about going through a train tunnel as the evolve happened, but the key was it lost GPS tracking - so the game couldn't confirm the day/night requirement.
I am not sure if perhaps this had anything to do with it but it is worth mentioning in this discussion.
It sounds like one way or another you were very unlucky indeed especially for the second.
Careful with that as both are necessary.
Just as 2 candies alone is not the trick, as you found on double candy (or 1/2 buddy distance) event...10kms alone is also not the trick.
For example, if I walk 5.5kms, then change buddy and go back and walk 4.5kms, it will fail too.
You need 10km AND 2 candy AND time of day AND still your buddy.
Yes. You need to hit all the requirements. The only soft caveat is that after completing the requirements, you can change your buddy (if it is the wrong time of day and don't want to waste distance walking). As long as you remember to make it your buddy again before you evolve and your phone has good GPS signal so the app can tell whether it is day or night, it will evolve correctly into Espeon or Umbreon.
GPS signal could have been another explanation. If your phone does not have a good GPS signal at the moment you evolve, the game does not know wether it is day or night in your area (even though the screen background might display the correct mode) and the Eevee is evolved into a Gen 1 evolution instead