Applications are directories so you need the -r option with zip to add all the files of the folder to the zip files. In Mac OS X directories ending with .app are shown as files instead of folders.
Also using a do shell script inside an tell application "Finder" violates the scripting addition security policy. do shell script should only be used when the target is set to the constant current application
. Every code that isn't targeted to an application is by default targeted to current application
tell current application
do shell script "zip -r " & qpp & ".zip " & qpp -- zips the file (or not...)
end tell
EDIT 1: showing working code
EDIT 2: Updated the do shell script to work with relative paths
set workspace to (path to desktop as text)
tell application "Finder"
set inputFolder to choose folder with prompt "Select a folder to be zipped"
set copiedFile to (duplicate inputFolder to workspace) as string
set copiedFile to text 1 thru -2 of copiedFile --remove the trailing ":"
tell current application
set qpp to quoted form of POSIX path of copiedFile
do shell script "cd $(dirname " & qpp & ")
zip -r \"$(basename " & qpp & ").zip\" \"$(basename " & qpp & ")\""
set zipFile to copiedFile & ".zip"
end tell
set outputFolder to choose folder with prompt "Select the output folder"
move zipFile to outputFolder
end tell