Hi Ryan,
The purpose of the RichTextField is to allow people to enter formatted text *without* needing to work in raw HTML - if you paste HTML code into it, it will be treated just like any other bit of text that happens to have a bunch of angle brackets in it, and displayed that way on the template.
It is possible to sneak custom HTML into a rich text field using the Hallo HTML source editor in combination with custom whitelisting rules - but the further you depart from basic text formatting, the more hoops you have to jump through, and in this case, you really are better off using a plain TextField.
However, I'd really recommend thinking about how you can redesign your page model / template to better fit your needs. Wagtail is all about separating content from presentation, and here you have a lot of structural markup that really belongs in the template rather than the page content. This might entail having a specific 'CallToActionPage' page type with specific fields for 'call to action header', 'button text' and so on. Or if this piece of content is one of many sections that might appear within the flow of a page, the StreamField feature introduced in Wagtail 1.0 beta might be a better fit...
http://docs.wagtail.io/en/v1.0b1/pages/streamfield.html
Cheers,
- Matt