Joe Keller exacts the ultimate punishment on himself, he commits suicide. He is driven by his own guilt over the loss of not only his son, Larry, but the other pilots that died. Therefore, Joe, who is consumed with guilt and shame, commits a horrible act, shooting himself.
In my view, Joe Keller has suffered, even before he commits suicide, because he knows that he is a fraud. He has set up Steve Deever to take the blame for his crime, and lives with this knowledge day in day out. When Ann Deever comes for a visit, Joe's sense of guilt is heightened. He starts talking about Steve, telling Ann that he wants her father to know that he will have a job waiting for him when he gets out of prison.
Keller, by the time he decides to take his life, has been punished with the reaction of his outraged, and disturbed wife, the anger of George Deever, and most of all, the loss of Chris's love and respect.
Joe Keller has received the ultimate punishment, he lost everything that mattered in life, then he surrenders his life.
That is a very interesting question. I suppose it comes down to your interpretation of punishment. If it's Biblical, "an eye for an eye," then Keller's death is a suitable punishment. You might also see his suicide as an escape from a more terrible punishment: having to live with the knowledge of his crime and the consequences to his extended family. You could also say he has been punished for years, living the lie and seeing the toll it was taking on his wife.
But do any of those punishments (living the lie, living the truth, death) really atone for the death of those fliers? For the death of his oldest son? In my opinion, nothing can truly atone for murder, but if the surviving characters only look for punishment, they will end up further victims of Joe's crime, living their lives bitterly. The only hope left at the end of the play is that the characters can forgive and move on as best they can. Keller's absence may make that easier.