you are creating a new Random every time. When you create a new instance of Random without explicitly specifying the seed value it uses System.DatTime.Now.Ticks as the seed. Due to the speed of calls they are happening at the same 'Tick' so the same seed value is used. As all Random instances generate the exact same sequence of 'random' number for the same seed value the same 'random' value is generated by both instances.
This has been covered many times before on the site and you should search for one of those answers.
But basically you need to create your Random object once and reuse it. This could be done statically , or at least as a class variable.
You should read this question and its answers to find a better approach.