I want to have custom button on account detail page on address section and call an apex on OnClick and perform an action on address section only. I do not want the button to be top of the page but in the address section. How can I achieve that in Salesforce Classic ?
You can't embed buttons at the section level in a Classic page layout.
You could build a Visualforce page and embed it in the layout, allowing you to present whatever UI elements and Apex backing logic you require. However, the user experience of embedded Visualforce pages is often not particularly satisfactory, and you still won't be able to position it within the section header.
You could also hyperlink to a Visualforce page to allow the user to navigate in a separate window to accomplish a task, and position this hyperlink in the section details, but it's not quite the same thing.