Bolton has played 26 games for the Tigers over his three years at the club, with a career-high 17 games this season.
He played his first final against the Lions on the weekend, booting one goal from 13 touches.
Naish has played two games for the Tigers, after making his debut in round 12 against Geelong.
“Both Shai and Patrick had strong pre-seasons and we’re rapt to see their hard work transfer into the AFL season,” Richmond List Manager Blair Hartley told the club’s website.
“They’re both talented players, with more development to come which is exciting, and we’re looking forward to seeing them progress over the next few years.”
Richmond 2021 Player Movements
|Off Contract 2020|
Jake Aarts, Nathan Broad, Josh Caddy, Riley Collier-Dawkins, Derek Eggmolesse-Smith, Luke English, Ryan Garthwaite, Jack Graham, Bachar Houli, Oleg Markov, Toby Nankervis, Marlion Pickett, Jayden Short, Fraser Turner