I've looked through the ERC-20 Draft extension, it looks like it has all of the necessary components. I'm wondering what the "draft" part means?
It's because of the status of the EIP. You can find the explanation in our docs:
Some contracts implement EIPs that are still in Draft status, recognizable by a file name beginning with
draft-, such as
utils/cryptography/draft-EIP712.sol. Due to their nature as drafts, the details of these contracts may change and we cannot guarantee their stability. Minor releases of OpenZeppelin Contracts may contain breaking changes for the contracts labelled as Drafts, which will be duly announced in the changelog. The EIPs included are used by projects in production and this may make them less likely to change significantly.