busybox-static command-not-found friendly-recovery hdparm info python3-commandnotfound python3-gdbm time lshw nano Are not unnecessary applications. These are normally included in any Linux build for basic functionality.
Busybox has to do with common kernel utilities necessary for any linux build. It is already a stripped down version of what was always included in the kernel.
command-not-found is the utility that searches for the commands you use in the terminal. If it is not available, it reports this by printing "command not found" to the terminal. A necessary utility.
freindly-recovery is the UI you experience when you choose recovery in GRUB. This is necessary to provide access to previous kernels and the root shell prompt, with networking, if required. All recovery actions are performed by this software. While you may be able to recover your system without it, it would be extremely difficult.
hdparm provides a command line interface to various kernel interfaces supported by the Linux SATA/PATA/SAS "libata" subsystem and the older IDE driver subsystem. Many newer (2008 and later) USB drive enclosures now also support "SAT" (SCSI-ATA Command Translation) and therefore may also work with hdparm. This is the documentation description from here. Basically, it is saying that this utility is how your system is able to access and interact with the compatible drives. You would have a hard time saving any data or even running your OS without this.
Info was designed to offer documentation that was comprehensive, hyperlinked, and possible to output to multiple formats.
python3-commandnotfound performs the same functionality for python3 what command-not-found does for linux.
python3-gdbm allows python3 to interact with and understand linux databases.
Python is so integrated into linux anymore, a lot of the functionality that you find is now written in python...making it a necessary part of the system.
time, obviously, handles your system clock and timezone to display the correct time. It also offers the system a reliable way to record events, log information and provides the cron utility a base for when actions should occur. Your system would throw many errors without this key utility.
lshw is a basic utility to provide hardware information. It interacts with the kernel to determine what hardware configuration you have and allows you to view that configuration. Troubleshooting would be difficult without this utility.
nano is a terminal editor used to modify configuration files and other such documents. You could actually code inside this editor, without ever having to leave the terminal. While it isn't necessary, I believe emacs, another terminal editor, is also included, it would be difficult to edit files in the terminal without it (sometimes necessary if you are working from the recovery root shell).
bind9-dnsutils ftp iputils-tracepath strace tcpdump telnet are all networking utilities. Internet access would be impossible if bind9-dnsutils were removed, since it allows for url to address translation.
strace, tcpdump and iputils-tracepath make troubleshooting connections with the internet possible. Without them, you would have serious issue attempting to resolve network issues.
telnet allows you to connect remotely to other networked computers, locally and on the Web. Many remote connection applications require this standard to connect to another machine...including virtual machines.
ftp is a protocol that defines how to share files remotely and access directories remotely. Many storage utilities use this or sftp to connect and store files online.
While all of these are deemed can be removed, once you open an application that requires any one of them, you will get error, upon error. Many of these utilities expect the others existence. Though it says they are safe for removal, that is because, at the time the command ran, they were not in use by any application.
I don't know what all you removed, but you should be careful as though you don't think you use it, never accessed it directly, it may be something you access regularly without realizing.