Who do I talk to learn more Miracles, and where are they located?
There are four NPCs in the game who will sell you miracles, two of which have a large selection of miracles.
The first Miracle trainer you'll come across is Petrus of Thorolund. He's near the Firelink Shrine bonfire, and sells five different miracles. You'll need to join the Way of White in order to access his miracles. There's no downsides to joining or leaving the covenant, so there's no reason not to join. After you've defeated the Capra Demon you'll be able to buy Miracles from him without needing to be part of the Way of White.
The other Miracle trainer with a large selection of Miracles is Rhea of Thorolund, who sells 8 miracles. However, you can't actually buy Miracles from her until late into the game, and there are a few requirements you need to be aware of in order for her to become a Merchant. First off, you can not kill either Petrus or Patches before you rescue her in The Tomb of Giants. Once you do rescue her in The Tomb of Giants (killing her hollowed bodyguards), you then need to immediately proceed to the Church in the Undead Parish (if you don't go there right away, she could be dead by the time you visit the Church). You'll find her in the church, where she will sell you Miracles. Finally, in order to keep her alive and selling miracles, you need to kill Petrus. If you don't, he'll eventually murder her.
The third NPC who sells miracles is Patches, although the only miracles he sells are Heal and Great Heal Excerpt. The first time you encounter Patches he'll ask if you're a Cleric, answer no to this question. He'll then trick you in some fashion, after which you need to run back to him and speak to him again (the answer you give to his new question doesn't matter). After you've defeated Gravelord Nito he'll appear in Firelink Shrine as a merchant.
The final NPC who sells Miracles is Oswald of Carim , but the only Miracle he sells is Karmic Justice. You'll encounter him after defeating the Belfry Gargoyles, and ringing the first Bell of Awakening. He'll appear in the same Church you rang the bell in, just outside the Belfry Gargoyles boss room.
There are also some Miracles in the games you can get through methods other than Merchants. This includes treasures, gifts from NPCs, and covenant rewards. You can find a complete list of Miracles and how to unlock them here.
There's also Rhea of Thorolund whom you rescue from Tomb of the Giant. If you rescue her, and then proceed to kill Petrus of Thorolund right away, she will sell you miracles in the Undead Parish Church until you buy all of them.