If you want to use the Settings API to manage the content, that is fine, but the value will not be saved into a post, it is saved in options like any other setting. You page should pull the content from there, not a post. If you stick with this approach, keep this in mind while carefully going through your code, you've made a few bad assumptions regarding how data gets managed with the Settings API. All you really need to do is register the field and get it displayed and the API handles the rest.
Another possibility could be to create a custom post type such that only admins can add new ones, resulting in there really being only one post anyone can edit. For non-admins, remove the usual post type menu items and add a menu link that opens the one existing post for editing.