There seems to be some "64-bit" buzzwordism going on here. There's nothing special about 64-bit; it's just a different processor mode. Writing 64-bit code is no different than 32-bit.
AMD64 also included a lot more registers, and has some extensions to the instruction set. It also makes a baseline for other features like SSE, as all CPU:s supporting AMD64 are relatively modern. Also having larger address space to work with may affect some design decisions.
So while you can write 64-bit code just like 32-bit code, it's bit like saying that writing c++ is no different than writing c.
64bit allows and/or requires different designs to be efficient. While the difference is usually negligible in user mode, 64bit in a kernel is rather different.
So while you can write 64-bit code just like 32-bit code, it's bit like saying that writing c++ is no different than writing c.