A brute force approach using textpos package:
\documentclass{beamer}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{tikz}
\usepackage[absolute,overlay,showboxes]{textpos} %absolute positioning
\TPGrid[20mm,20mm]{20}{10}
\textblockorigin{3mm}{3mm}
\begin{document}
\begin{frame}
\makebox[\linewidth]{%
\includegraphics[height=0.8\paperheight,keepaspectratio=true]{sci_ac}}
%right
\begin{textblock}{4}(23,3)
Activity 1
\end{textblock}
\begin{textblock}{4}(23,7)
Activity 2
\end{textblock}
\begin{textblock}{4}(23,11)
Activity 3
\end{textblock}
%left
\begin{textblock}{4}(1,3)
Activity 4
\end{textblock}
\begin{textblock}{4}(1,7)
Activity 5
\end{textblock}
\begin{textblock}{4}(1,11)
Activity 6
\end{textblock}
%top
\begin{textblock}{4}(6.2,0)
Activity 7
\end{textblock}
\begin{textblock}{4}(12,0)
Activity 8
\end{textblock}
\begin{textblock}{4}(18,0)
Activity 9
\end{textblock}
%bottom
\begin{textblock}{4}(6.2,15)
Activity 10
\end{textblock}
\begin{textblock}{4}(12,15)
Activity 11
\end{textblock}
\begin{textblock}{4}(18,15)
Activity 12
\end{textblock}
\end{frame}
\end{document}

EDIT with grid
\documentclass{beamer}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{tikz}
\usetikzlibrary{math}
\newcommand{\nx}{20}%number of division on x axis
\newcommand{\ny}{10}%number of division on y axis
\usepackage[absolute,overlay,showboxes]{textpos} %absolute positioning
\TPGrid{\nx}{\ny}
\newcommand\myGrid{%
\begin{tikzpicture}[
overlay,
remember picture,
shift={(current page.north west)},
]
\tikzmath{
\sdx=\nx-1;
\sdy=\ny-1;
}
\draw[very thin, blue!10, xstep=\TPHorizModule, ystep=\TPVertModule]
(current page.south west) grid (current page.north east);
\foreach \x in {1,2,...,\sdx} { \node [anchor=north,xshift=\x*\TPHorizModule] at (current page.north west) {\footnotesize\x};}
\foreach \y in {1,2,...,\sdy} {\node [anchor=west,yshift=-\y*\TPVertModule] at (current page.north west) {\footnotesize\y};}
\end{tikzpicture}%
}
\begin{document}
\begin{frame}
\makebox[\linewidth]{%
\includegraphics[height=0.8\paperheight,keepaspectratio=true]{sci_ac}}
\myGrid %compile two time for get the grid correctly positioned
\def\rx{16.5}%right x
\def\lx{1.2}%left x
\def\ty{0.3}%top y
\def\by{8.7}%bottom y
%right
\begin{textblock}{3}(\rx,2)
Activity 1
\end{textblock}
\begin{textblock}{3}(\rx,4.5)
Activity 2
\end{textblock}
\begin{textblock}{3}(\rx,7.2)
Activity 3
\end{textblock}
%left
\begin{textblock}{3}(\lx,2)
Activity 4
\end{textblock}
\begin{textblock}{3}(\lx,4.5)
Activity 5
\end{textblock}
\begin{textblock}{3}(\lx,7.2)
Activity 6
\end{textblock}
%top
\begin{textblock}{3}(4.4,\ty)
Activity 7
\end{textblock}
\begin{textblock}{3}(8.5,\ty)
Activity 8
\end{textblock}
\begin{textblock}{3}(12.5,\ty)
Activity 9
\end{textblock}
%bottom
\begin{textblock}{3}(4.4,\by)
Activity 10
\end{textblock}
\begin{textblock}{3}(8.5,\by)
Activity 11
\end{textblock}
\begin{textblock}{3}(12.5,\by)
Activity 12
\end{textblock}
\end{frame}
\end{document}
