FFmpeg hardware cuda decoding and overlay picture
For 1st question - Most likely you're looking at not applicable error (the default yuv420p is not usable here - you may also need to get newer ffmpeg) - while using the hwdownload you need to tell explicitly to the NPP scaler the output format of the video frames. For your case the below command should make the trick:

ffmpeg -thread_queue_size 1024 \
    -hwaccel cuvid -c:v mpeg2_cuvid -deint 2 \
    -drop_second_field 1 -vsync 0 \
    -i "udp://226.58.24.4:2000?overrun_nonfatal=1" \
    -i /home/anis/logo/2mbps.png \
    -filter_complex "[0:v]scale_npp=1920:1080,hwdownload,format=nv12 [base]; [base][1:v] overlay=main_w-overlay_w-10:10 [marked]" \
    -map "[marked]" -vcodec h264_nvenc -aspect 16:9 \
    -b:v 1808k -minrate 1808k -maxrate 1808k -bufsize 904k \
    -g 100 -no-scenecut 1 -forced-idr 0 -preset:v medium -vprofile main -level 4.1 \
    -map 0:#0x091d -acodec libfdk_aac -ab 192k -ar 48000 \
    -f flv rtmp://10.150.12.104/virginandtv/abr2k_test


If you could please always include full ffmpeg output as this makes debugging always easier.

For 2nd question - I wasn't able to find any way how to mix frames on the GPU using the current NPP library w/ ffmpeg. It certainly should be possible so whenever you find a solution let others know. I personally don't have enough time to read through all the NVIDIA docs and work on implementation but somebody else may get more time :-)