Grayson, 26, came through the ranks at Doncaster and has played for Frickley Athletic, Matlock Town and Mickleover Sports.
Currently sidelined with injury, he has committed to the Bucks until the summer of 2020.
He has scored 10 goals in 28 appearances this season.
Meanwhile, Buxton benefited from the demise of North Ferriby United to leapfrog Gainsborough Trinity and into fifth place in the EVO-STIK League Premier Division table.
The Bucks were due to travel to North Ferriby this weekend, while in the reverse fixture they were held to a 2-2 draw.
The expunging of North Ferriby’s record now has Buxton in the play-off places with 58 points from 35 games, ahead of Gainsborough (55 from 34) and Scarborough (51 from 34).
Keep up-to-date with our exclusive email newsletters.
Subscribe