OpenSCAD is fully parametric, and there are tons of libraries (threads, gears, fill patterns, boxes, etc etc) and designs to download and use or adapt. Importing and adding_to/removing_from existing stl files is also possible. Embossed or recessed text is a cinch. Also projecting stuff and generating dxf files for lasercutting.

Free, open source and runs on all platforms. For windows there is also a portable version.

Search for 'customizable' on thingiverse to get an impression what you can do with it....