Front End Asset Management - Upload New Photos without Deleting/Overriding Existing
You're right that your template needs some adjustments. Whenever you're saving an Assets field, you need to have all of the Asset id's not just the new ones. You're looking for something like 

{% if entry.photos|length %}
    {% for photo in entry.photos %}
        &lt;input type="hidden" name="fields[photos][]" value="{{ photo.id }}" /&gt;
    {% endfor %}
{% endif %}

&lt;input type="file" id="photos" name="fields[photos][]" class="upload" multiple&gt;