How to prevent concurrency issues in a ssis package?
Since it seems that any concurrent execution of this package is going to cause this problem for you, I'd recommend putting controls into the package that prevent itself from running while another job is running it.

As far as I know, there is no mechanism within SSIS to set a package as 'one execute at a time only', so you would need to have a solution to this implemented in your SQL database. Create a table that records each instance of the package being executed (this is useful to do anyway for auditing/debugging purposes) and record the start/end times of package execution, and maybe a column for status. If there is a job still running, the end time will be null, so your package should check for this and quit if it exists.

The risk with this approach is that a fatal error might cause an unfinished row to remain  in the table, blocking any further execution. You should put something into your package to update it under all error conditions, and perhaps some logic to finish a row for a job if it has gone on too long (figuring out this duration is a business question)