I also am seeing this behavior when using the Append tool at the end of a Model Builder sequence. The first time I run the model, the attributes are transferred to the fields mapped using NO_TEST. But when I try to run the model a second time on different inputs, only the spatial information is appended.
I am not using an iterator, but instead have parameters assigned to the inputs to manually select the table I have created for joining to a specific area within our district each time I run the tool.
At first I thought this may have something to do with appending from a local file geodatabase to a versioned enterprise geodatabase. So I created an empty local feature class in the same file geodatabase as my tables and intermediate feature classes, using the schema from the destination feature class in SDE. However, the append tool still behaves the same way - the first run is fine, but subsequent runs only append the spatial attributes without giving any indication of errors or warnings in the results.
My guess it the field map is being set by parameter validation the first time, and when you try run it again the previously set up field map is used -- but it now out of synch with the inputs. You may try creating a parameter of type field map (right click the append tool, create element from parameter FieldMap, open it up and delete all the entries), and make sure it is empty so every run of the Append tool will start with a clean empty field map so a default fieldmap is generated each run.