The message that Satoshi included in the Genesis block is actually part of the Coinbase transaction of that block. Specifically, in the input of any Coinbase transaction, you can include whatever data that you want. Satoshi chose to put a string there. So if you want to do the same thing, then you must be a miner and set whatever you want in that part of the coinbase transaction of your blocks.
There are other ways to embed data in transactions. You can use an OP_RETURN output which allows you to make a provably unspendable output that has arbitrary data in it.