I’m impressed! Your first part, it uses schematic subparts, and is basically perfect. FritzingCheckPart’s only complaint is that the “dup” pin name is a duplicate and technically should be unique, because in some rare circumstances the pin names are used as an index. That doesn’t apply in this case so it is fine as is. FritzingCheckPart also complains about the lack of a pcb svg for it to check, but that is a FritzingCheckPart issue that I need to fix not your fault . Another annoying Fritizng quirk: here I dragged the part in to pcb so it is aligned vertically as desired:
but Fritzing part placement in schematic sets it off the grid:
With non subpart parts a single click and drag aligns the part. In subpart parts you need to do them one at a time which is much more annoying:
note moving the top element didn’t effect the rest although I just discovered that you can drag a selection box around the entire part then move it and it will do them all at once!