I think the response is twofold. As for AWDRv2, I think the point of the chapter is to demonstrate the different ways that validation can be added to a model. The first dozen or so chapters are dedicated to a somewhat real world example. Take them for what they are, realizing that you might want to do things differently.
As for your specific question, "validate" is a protected method of ActiveRecord::Base. If you want to extend it (the point of the AWDR example) then you've got to implement the full signature of the method, including it's 'protectedness'.
HTH, AndyV