What’s the difference between a validation by nodes and a verification by miners? In Mastering Bitcoin, it says:


  The transaction is then broadcasted on the bitcoin network, where each
  network node (participant) validates and propagates the transaction
  until it reaches (almost) every node in the network. Finally, the
  transaction is verified by a mining node and included in a block of
  transactions that is recorded on the blockchain.


I assume that nodes are using public keys to validate a digital signature, but what do miners do? I know that they are solving a hash puzzle to find the nonce that generates a certain pattern of a hash value but are they verifying something here?
The rules by which a full node verifies a transaction are defined here in the Wiki, and here. 

Full node or mining node both validate against the same set of rules. If they don't follow the rules, they have to carry the consequences and might get blocked/banned, if forwarding wrong information to the network. 

Independent from Bitcoin, there is a difference between the two words, be it in software development or project management. verification is like a check list, were each parameter is checked against some specs ("the system complies with specification"). And validation is more process oriented ("the system meets the intended needs for a user"). 

In the  case of full nodes/mining node, both follow the verification in the same way, just after verifying against the specs, the miner follows  additional steps, and is eventually lucky to get the tx in the block and find the reward.