I have a field called "description" but I want to use different Rich Text editors with it. Can I do this with the same template, or do I have to make different templates with the same field name?
You just put the path to the editor in the datasource for the Rich Text field. Path you see here is in the core database. You can just copy an existing profile rename it.
If you want one field to the OOTB editor and one to use you custom, yes you need two templates with two different rich text fields. One with datasource set and one not.
The RTE definition is put in the source field of your field definition. If you inherit a template with such a field you cannot change that property in the new template as you don't have access to the inherited field definitions. So: yes, you will need separate fields if you want other RTE profiles.
There could be a way to achieve this with custom code - there usually is in Sitecore ;) But in this case I don't think you would want to go that way. It will overcomplicate things.