allow editor/author to publish others posts but not publish their own

It probably is impossible to do without a specialized plugin.

That said, one way to achieve it that comes to my mind would be to write a plugin that would add a custom capability “publish_others_posts”, and then in all the places where the “publish_posts” capability is checked, replace it with a check for “publish_posts” if the post is of the user, and if not, check for “publish_others_posts”. Then revoke the editors the “publish_posts” permission and grant them the “publish_others_posts” permission, e.g. using the User Role Editor plugin.