The first step to planning any trip - be it across country or around the block - is to look at a good map. If you don't know where Williams or Flagstaff are, then I suggest that you've already gotten ahead of yourself.
But to sum things up, both Williams and Flagstaff are about a hour drive from the Canyon but will offer more and far cheaper lodging options. In fact, with the holiday, those are probably about your only options for lodging at this late date.
If this is a 3 day trip, then you're basically looking at a days drive there, a day at the Canyon, and then a days drive home.