Violation of PRIMARY KEY constraint when there is no duplicate
Do you have recursive triggers set? If so you might be re-firing the trigger from inside. 
In any case, as previous commenters have noted: you are generating a single ID value, but a trigger may get fired (or your internal join may produce) more than 1 row to be put in the table. 
There is nothing to stop this clause:

FROM dbo.TR_ASSIGNMENT_ORG as P, inserted as I
    WHERE ID_RESPONSIBLE_WORKER = I.ID_WORKER


from returning many records. 

Ideally you would to find a way to remove the ID generation from the inside of the trigger (eg, convert the ID to an identity &amp; set the seed above the current high watermark of the ID column) - may require app change if records are not inserted via stored proc which are in your gift to change.

You might consider aborting if you are given multiple records (insert count > 1). If you (experimentally) add that and still have a problem then for sure it's your trigger code thats generating the additional inserts.