Who can or should draft my will?

If you do not do it yourself (which is perfectly acceptable) only an attorney can legally draft a will for you. Be aware that personally drafted wills are often incomplete and therefore some or all of such will can be held to be invalid under state laws. While there are certainly kits available from multiple resources for creating a will, they are typically not state-specific. If your will fails to follow state law in creation areas, it could be held to be invalid.