You could hire an attorney for any reason, but I do not think an attorney could get your son reinstated back into school due to him/her not having enough time. Also, as long as criminal charges are not going to be filed, then there is no need to hire an attorney (in my opinion). If your son is injured or harmed in some way because of this suspension, then you could call around to some attorneys but it would not be a criminal defense attorney. Perhaps you should try calling the school and setting up a meeting to clarify the situation. Best of Luck!
You should absolutely hire an attorney experienced in school law and criminal defense. Your son has a right to a hearing, and if it's not too late, the suspension might be able to be removed from his record.
He could be criminally charged, as well, even though it sounds like the evidence of his possession is weak. He could be charged in state court if he's 17, or in juvenile court if he's 16 or less. A criminal defense attorney experienced in school law should be able to help.
You should consult with a local attorney experienced in this area. Avvo has a terrific "find a lawyer" feature that you can use to search for qualified counsel. I am not for sure that a lawyer can help your son in this case, but it can't hurt to talk to someone about it.