Ok, I got it !
A table has the same alias than the project.
Well, as you can see in your final project, if a table has the same alias than the project, the database table name is reduced. ex : #__events instead of #__events_events.
(A little functionality that testimonial how we take cure of your final project).
BUT, in the sandbox, your project alias is demoXXX, so it cannot reduce the table name. When it install the component No, and when it backup, YES. So this conflict is causing a big issue.
I am currently solving this problem. For now, just change the collection alias of the Events table, and it will pass. Then, after the fix, you'll can restore the 'events' alias.
Coool, finaly !!