deep parameter supports just two values: "1" and "other value".
You need to override PublishAction to handle deep publishing on multiple levels.
Publish action accepts 6 parameters:
"deep" - controls whether children of the current item will be published. Possible values: "1" - children of the current item will be published; all other values - children of the current item will not be published.
"related" - controls whether related items of the current item will be published. Possible values: "1" - related items of the current item will be published; all other values - related items of the current item will not be published.
"targets" - comma (,) separated list of database names that item will be published to. Note, that this parameter does not expect a list of publishing target names, it expects list of database names.
"alllanguages" - controls whether current item will be published in all languages that exist in source database. Possible values: "1" - current item will be published in all languages that exist in source database; all other values - code uses values of other parameters to determine languages in which current item will be published.
"languages" - comma (,) separated list of languages in which current item will be published.
"itemlanguage" - controls whether current item will be published in its current language.
Possible values:
"1" - current item will be published in its current language;
"0" - current item will not be published in its current language;
all other values - current item will published in its current language. Note that even if value of this parameter is "0", current item will still be published in its current language if current language of the item is in "languages" list.
https://community.sitecore.net/technical_blogs/b/latest_technical_reinnovations/posts/auto-publish-workflow-action-updates