Why does the Karnaugh map use gray code and not binary?
Gray code means that nearest neighbours in the K-map differ from one-another by only one bit. This means that the images of products of predicates (A and B and ...) on the K-map are connected subsets of the K-map as long as you define the K-map on the surface of a torus - so you can spot these factors easily. So you need (1) Gray codes AND (2) to put the map on a torus ("wrap around") to make this connectedness property of products work. The wrapping around has nothing directly to do with the Gray codes: it is a condition further to Gray codes that you need to make the K-map work.

Try drawing a K-map with binary ordering - you'll quickly see that the products of predicates - which are what you want to spot to get a minimum length representation of the truth function become scattered in this representation.