Looks like some kid of Oracle Bug that caused row level trigger to get confused.

The trigger was originally PRAGMA AUTONOMOUS_TRANSACTION
and there commits and rollbacks within trigger and called-in stored proc. That probably confused the trigger or database.

It was processing multiple previous table rows inserts along with the current row getting inserted even when I removed AUTONOMOUS_TRANSACTION part from the trigger.

Dropping and recreating the same trigger was not even fixing the issue but then deleting those rows and creating very basic new trigger eventually resolved the issue.