How can I reduce the size of my PCB without losing features
My answer is similar to Misunderstood's answer, but with different software and board house recommendations.

Kicad is free, open-source, cross-platform, and under active development. Start here with the helpful getting started guide, and Google/ask the Internet/read PCB design resources. PCB design is a big subject, but for simple designs, you should be able to get a simple board designed with minimal trouble.

IMO, you should stay away from PCB Artist, Fritzing, EasyEDA and what have you. Kicad is a very capable piece of software and has quickly become the best free option.

As for board houses, your board is probably going to be small, and two-layer. If you don't mind a ~4 week lead time, a Chinese board house such as DirtyPCBs will be the cheapest option. (You can compare prices here.) They are plenty capable for what you want, and you'll get 10 boards for ~13 USD, which is an amazing deal.

Finally, select small components (remember not to select components that are smaller than you can solder), and you can make your design much smaller than it is now. You didn't post a schematic, but you may also want to consider replacing that discrete logic with a single microcontroller, which could make your circuit even smaller.