A low level explanation follows. If you transfer to a contract (an account with code), the code of the contract will be executed. The code is at a low level a sequence of EVM (Ethereum Virtual Machine) instructions. And every instruction has an associated gas cost. To troubleshoot the gas usage, you can refer to the detailed transaction traces:
These traces display each instruction executed by the EVM during the transaction. You can spot the difference at step 328. This is an SSTORE instruction, which costs 20000 gas for the first transaction, but only 5000 gas for the second transaction. Other then this, the two transactions execute the same instructions using the same gas value. And yes, the first transaction uses 15000 more gas, then the second:
52595 - 37595 = 15000
The question now is that why does the first SSTORE cost 20000 gas, but the second only 5000?
You can refer to the Ethereum Yellowpaper, where the gas costs are defined: https://ethereum.github.io/yellowpaper/paper.pdf
20000: Paid for an SSTORE operation when the storage value is set to non-zero from zero.
5000: Paid for an SSTORE operation when the storage value’s zeroness remains unchanged or is set to zero.
So it seems, that the first transaction increases the size of storage (a zero value is set to non-zero), and the second transaction uses the same storage item (it does not increase the size of storage). Note, that a storage item with zero value is not stored, it does not increase the size of the state. That's why the first zero to non-zero change costs more gas, than a non-zero to non-zero or zero change.
If you want to check the logic which caused the difference, you can refer to the Solidity source code of the contract at etherscan and debug the transactions using Remix.