Never allow speakers sound during specific hours I don't want my computer play any sound through it's own speaker during work hours in weekdays. But I want to be able to listen to music using my headphones.

I guess something can be done with Automator to schedule a bunch of commands in order to do this.
You could try using breakaway and set up a simple applescript set volume output volume 0 to trigger when the headphones are unplugged. (And of course, you could set up another trigger to turn the volume back up when the headphones are plugged in again.)